JP3423603B2 - 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 - Google Patents
高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体Info
- Publication number
- JP3423603B2 JP3423603B2 JP35385797A JP35385797A JP3423603B2 JP 3423603 B2 JP3423603 B2 JP 3423603B2 JP 35385797 A JP35385797 A JP 35385797A JP 35385797 A JP35385797 A JP 35385797A JP 3423603 B2 JP3423603 B2 JP 3423603B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data communication
- qualified
- level synthesis
- partial
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、回路の動作を高級
言語によって記述した動作記述に基づいて回路を合成す
る高位合成装置及び高位合成方法、並びに高位合成プロ
グラムを記録した記録媒体に関するものである。さらに
詳しくは、本発明は、同期通信の記述を含む動作記述に
基づいて回路を合成する高位合成装置及び高位合成方
法、並びに高位合成プログラムを記録した記録媒体に関
するものである。
言語によって記述した動作記述に基づいて回路を合成す
る高位合成装置及び高位合成方法、並びに高位合成プロ
グラムを記録した記録媒体に関するものである。さらに
詳しくは、本発明は、同期通信の記述を含む動作記述に
基づいて回路を合成する高位合成装置及び高位合成方
法、並びに高位合成プログラムを記録した記録媒体に関
するものである。
【0002】
【従来の技術】従来より、同期回路を言語で記述した動
作記述に基づいて、動作のシミュレーションおよび回路
の合成を行う高位合成方法がいくつか提案されている。
作記述に基づいて、動作のシミュレーションおよび回路
の合成を行う高位合成方法がいくつか提案されている。
【0003】従来の第1の高位合成方法として、Syn
opsys社製の動作合成システム“Behavior
al Compiler”(商品名)では、VHDL
(VHSICハードウェア記述言語)もしくはVeri
1og−HDLというHDL(ハードウェア記述言語)
による動作記述を入力として、動作レベルの回路構成デ
ータからレジスタ転送レベルの回路構成データを合成し
ている。
opsys社製の動作合成システム“Behavior
al Compiler”(商品名)では、VHDL
(VHSICハードウェア記述言語)もしくはVeri
1og−HDLというHDL(ハードウェア記述言語)
による動作記述を入力として、動作レベルの回路構成デ
ータからレジスタ転送レベルの回路構成データを合成し
ている。
【0004】ところで、一般に、同期回路では、クロッ
クと呼ばれる回路全体の動作の基準となる信号を用いる
ことにより、同時に動作する複数の部分回路(例えば、
演算器やレジスタ)の間で各部分回路により実行される
プロセス(個々の処理)の同期を取っている。一般に、
レジスタ転送レベル設計(論理設計)工程以降の回路設
計工程では、回路における種々の動作を実行するタイミ
ング(どの時点でどのような動作を実行するか)がクロ
ック信号を基準に決定されるので、クロック信号を基準
として動作のシミュレーションを行うことができる。
クと呼ばれる回路全体の動作の基準となる信号を用いる
ことにより、同時に動作する複数の部分回路(例えば、
演算器やレジスタ)の間で各部分回路により実行される
プロセス(個々の処理)の同期を取っている。一般に、
レジスタ転送レベル設計(論理設計)工程以降の回路設
計工程では、回路における種々の動作を実行するタイミ
ング(どの時点でどのような動作を実行するか)がクロ
ック信号を基準に決定されるので、クロック信号を基準
として動作のシミュレーションを行うことができる。
【0005】ところが、レジスタ転送レベル設計工程の
前に行われる動作レベル設計(機能設計)工程を対象と
した場合には、回路の動作はクロック信号とは無関係に
記述されるため、回路を合成する前には各動作を実行す
るタイミングを確定することができない。このため、回
路の動作をシミュレーションしたときに、別個のクロッ
クで動作する非同期の複数プロセス間でデータ転送のタ
イミングがずれ、データが欠落することがある。
前に行われる動作レベル設計(機能設計)工程を対象と
した場合には、回路の動作はクロック信号とは無関係に
記述されるため、回路を合成する前には各動作を実行す
るタイミングを確定することができない。このため、回
路の動作をシミュレーションしたときに、別個のクロッ
クで動作する非同期の複数プロセス間でデータ転送のタ
イミングがずれ、データが欠落することがある。
【0006】そのため、非同期の複数プロセス間で同期
を取ることが求められるが、上記従来の動作合成システ
ムでは、非同期の複数プロセス間で同期を取るための命
令を使用することができない。したがって、この動作合
成システムでは、非同期の複数プロセス間で同期を取っ
てシミュレーションを実施するために、非同期の複数プ
ロセス間でデータを受け渡しする場合のプロトコル(通
信手順)を言語中に明確に記述することが必要となる。
を取ることが求められるが、上記従来の動作合成システ
ムでは、非同期の複数プロセス間で同期を取るための命
令を使用することができない。したがって、この動作合
成システムでは、非同期の複数プロセス間で同期を取っ
てシミュレーションを実施するために、非同期の複数プ
ロセス間でデータを受け渡しする場合のプロトコル(通
信手順)を言語中に明確に記述することが必要となる。
【0007】そこで、本願の出願人は、従来の第2の高
位合成方法として、特願平9−249152号におい
て、非同期の2つのプロセス間で同期を取ってデータを
転送するプロトコルを定義する命令、すなわち、データ
を送る側およびデータを受け取る側の両方のプロセスが
転送可能な状態になって初めてデータ転送を行うプロト
コルを定義する命令として、同期を取ってデータを送る
命令“send”および同期を取ってデータを受け取る
命令“receive”を動作記述用の入力言語に用意
しておく集積回路の設計方法を提案している。
位合成方法として、特願平9−249152号におい
て、非同期の2つのプロセス間で同期を取ってデータを
転送するプロトコルを定義する命令、すなわち、データ
を送る側およびデータを受け取る側の両方のプロセスが
転送可能な状態になって初めてデータ転送を行うプロト
コルを定義する命令として、同期を取ってデータを送る
命令“send”および同期を取ってデータを受け取る
命令“receive”を動作記述用の入力言語に用意
しておく集積回路の設計方法を提案している。
【0008】上記方法では、単に“send”および
“receive”という命令をそれぞれ記述するだけ
で、非同期の複数プロセス間におけるデータの受け渡し
を記述し、データを欠落することなく回路の動作をシミ
ュレーションすることができる。
“receive”という命令をそれぞれ記述するだけ
で、非同期の複数プロセス間におけるデータの受け渡し
を記述し、データを欠落することなく回路の動作をシミ
ュレーションすることができる。
【0009】
【発明が解決しようとする課題】しかしながら、従来の
第1および第2の高位合成方法では、命令、関数、プロ
トコルなどを用いて同期通信を記述した動作記述に基づ
いて回路を合成する場合、合成した回路における同期通
信は、ハンドシェイクと呼ばれる非同期の部分回路間に
おけるデータの受け渡しにより実現される。
第1および第2の高位合成方法では、命令、関数、プロ
トコルなどを用いて同期通信を記述した動作記述に基づ
いて回路を合成する場合、合成した回路における同期通
信は、ハンドシェイクと呼ばれる非同期の部分回路間に
おけるデータの受け渡しにより実現される。
【0010】このため、合成された回路には、ハンドシ
ェイクを行う部分回路間の各々には、データの受け渡し
のための1本のデータ線に加えて、データが準備できた
ことを送信側が受信側に通告するための信号線と、デー
タを受け取ったということを受信側が送信側に送信する
ための信号線との2本の制御用信号線が必ず生成され
る。この結果、動作記述で記述された部分回路間の同期
通信をハンドシェイクなしに実現できる場合であって
も、必ずハンドシェイク用の2本の制御用信号線が生成
されるために、回路規模が大きくなり、データ通信速度
も遅くなるという問題がある。
ェイクを行う部分回路間の各々には、データの受け渡し
のための1本のデータ線に加えて、データが準備できた
ことを送信側が受信側に通告するための信号線と、デー
タを受け取ったということを受信側が送信側に送信する
ための信号線との2本の制御用信号線が必ず生成され
る。この結果、動作記述で記述された部分回路間の同期
通信をハンドシェイクなしに実現できる場合であって
も、必ずハンドシェイク用の2本の制御用信号線が生成
されるために、回路規模が大きくなり、データ通信速度
も遅くなるという問題がある。
【0011】本発明は、上記従来の問題を解決するため
になされたものであり、その目的は、入力された同期通
信の記述を含む動作記述に基づいて、ハンドシェイク用
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成装置及び高位合成方法、並びに高位合成プログラムを
記録した記録媒体を提供することにある。
になされたものであり、その目的は、入力された同期通
信の記述を含む動作記述に基づいて、ハンドシェイク用
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成装置及び高位合成方法、並びに高位合成プログラムを
記録した記録媒体を提供することにある。
【0012】
【課題を解決するための手段】本発明の請求項1記載の
高位合成装置は、上記の課題を解決するために、同期通
信の記述を含む動作記述を入力として回路を合成する高
位合成装置であって、入力された動作記述中に記述され
ている各プロセスから、プロセス間のデータ転送経路に
形成される有向閉路を含まない経路を介してデータ通信
するプロセスのみを適格プロセスとして抽出する適格プ
ロセス抽出部と、入力された動作記述に基づいて各プロ
セスを実現する部分回路を生成し、上記各適格プロセス
を実現する部分回路間のみをハンドシェイク回路を用い
ずに接続し、非適格プロセスを実現する部分回路間の接
続にはハンドシェイク回路を用いて接続することによ
り、回路を合成する回路合成部と、複数経路を介して行
われる部分回路間のデータ通信が経路間で同期するよう
に部分回路間の接続経路に遅延回路を挿入する遅延挿入
部とを有することを特徴としている。
高位合成装置は、上記の課題を解決するために、同期通
信の記述を含む動作記述を入力として回路を合成する高
位合成装置であって、入力された動作記述中に記述され
ている各プロセスから、プロセス間のデータ転送経路に
形成される有向閉路を含まない経路を介してデータ通信
するプロセスのみを適格プロセスとして抽出する適格プ
ロセス抽出部と、入力された動作記述に基づいて各プロ
セスを実現する部分回路を生成し、上記各適格プロセス
を実現する部分回路間のみをハンドシェイク回路を用い
ずに接続し、非適格プロセスを実現する部分回路間の接
続にはハンドシェイク回路を用いて接続することによ
り、回路を合成する回路合成部と、複数経路を介して行
われる部分回路間のデータ通信が経路間で同期するよう
に部分回路間の接続経路に遅延回路を挿入する遅延挿入
部とを有することを特徴としている。
【0013】上記構成によれば、同時に動作する非同期
の複数の部分回路間で同期して通信を行う記述(命令や
関数、手続き)を含む動作記述を入力として、ハンドシ
ェイクなしに同期通信を実現できる適格プロセスを自動
で抽出する。そして、部分回路間でデータが欠落するこ
となくデータ通信できるように、各プロセスを実現する
部分回路間を接続して回路を合成する際に、複数経路を
介して行われる部分回路間のデータ通信が経路間で同期
するように部分回路間の接続経路に遅延回路を挿入す
る。
の複数の部分回路間で同期して通信を行う記述(命令や
関数、手続き)を含む動作記述を入力として、ハンドシ
ェイクなしに同期通信を実現できる適格プロセスを自動
で抽出する。そして、部分回路間でデータが欠落するこ
となくデータ通信できるように、各プロセスを実現する
部分回路間を接続して回路を合成する際に、複数経路を
介して行われる部分回路間のデータ通信が経路間で同期
するように部分回路間の接続経路に遅延回路を挿入す
る。
【0014】これにより、ハンドシェイクなしに同期通
信を実現でき、非同期の複数プロセスを有する回路を記
述した動作記述が入力された場合にも回路の動作を正確
にシミュレーションすることができる。また、同期通信
のためにハンドシェイク用の制御線を生成する必要がな
いので、回路規模(面積)を大きくしたり、動作速度を
遅くすることなく回路を合成することができる。したが
って、全体として規模(面積)が小さく、動作速度が速
い回路を合成することができる。
信を実現でき、非同期の複数プロセスを有する回路を記
述した動作記述が入力された場合にも回路の動作を正確
にシミュレーションすることができる。また、同期通信
のためにハンドシェイク用の制御線を生成する必要がな
いので、回路規模(面積)を大きくしたり、動作速度を
遅くすることなく回路を合成することができる。したが
って、全体として規模(面積)が小さく、動作速度が速
い回路を合成することができる。
【0015】本発明の請求項2記載の高位合成装置は、
上記の課題を解決するために、請求項1記載の高位合成
装置において、抽出された適格プロセスにデータ通信が
発生する最短のデータ通信間隔を算出するデータ通信間
隔算出部と、算出された適格プロセスの最短のデータ通
信間隔に基づいて適格プロセスを実現する部分回路のデ
ータ通信間隔を決定するデータ通信間隔決定部とをさら
に含み、上記回路合成部は、適格プロセスを実現する部
分回路のデータ通信間隔が決定されたデータ通信間隔を
満たすように回路を合成するものであることを特徴とし
ている。
上記の課題を解決するために、請求項1記載の高位合成
装置において、抽出された適格プロセスにデータ通信が
発生する最短のデータ通信間隔を算出するデータ通信間
隔算出部と、算出された適格プロセスの最短のデータ通
信間隔に基づいて適格プロセスを実現する部分回路のデ
ータ通信間隔を決定するデータ通信間隔決定部とをさら
に含み、上記回路合成部は、適格プロセスを実現する部
分回路のデータ通信間隔が決定されたデータ通信間隔を
満たすように回路を合成するものであることを特徴とし
ている。
【0016】上記構成によれば、回路のデータ通信間隔
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができる。
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができる。
【0017】本発明の請求項3記載の高位合成装置の高
位合成方法は、上記の課題を解決するために、同期通信
の記述を含む動作記述を入力として回路を合成する、適
格プロセス抽出部、回路合成部、及び遅延挿入部を備え
た高位合成装置の高位合成方法であって、上記適格プロ
セス抽出部にて、入力された動作記述中に記述されてい
る各プロセスから、プロセス間のデータ転送経路に形成
される有向閉路を含まない経路を介してデータ通信する
プロセスのみを適格プロセスとして抽出する適格プロセ
ス抽出工程と、上記回路合成部にて、入力された動作記
述に基づいて各プロセスを実現する部分回路を生成し、
上記各適格プロセスを実現する部分回路間のみをハンド
シェイク回路を用いずに接続し、非適格プロセスを実現
する部分回路間の接続にはハンドシェイク回路を用いて
接続することにより、回路を合成する回路合成工程と、
上記遅延挿入部にて、複数経路を介して行われる部分回
路間のデータ通信が経路間で同期するように部分回路間
の接続経路に遅延回路を挿入する遅延挿入工程とを有す
ることを特徴としている。
位合成方法は、上記の課題を解決するために、同期通信
の記述を含む動作記述を入力として回路を合成する、適
格プロセス抽出部、回路合成部、及び遅延挿入部を備え
た高位合成装置の高位合成方法であって、上記適格プロ
セス抽出部にて、入力された動作記述中に記述されてい
る各プロセスから、プロセス間のデータ転送経路に形成
される有向閉路を含まない経路を介してデータ通信する
プロセスのみを適格プロセスとして抽出する適格プロセ
ス抽出工程と、上記回路合成部にて、入力された動作記
述に基づいて各プロセスを実現する部分回路を生成し、
上記各適格プロセスを実現する部分回路間のみをハンド
シェイク回路を用いずに接続し、非適格プロセスを実現
する部分回路間の接続にはハンドシェイク回路を用いて
接続することにより、回路を合成する回路合成工程と、
上記遅延挿入部にて、複数経路を介して行われる部分回
路間のデータ通信が経路間で同期するように部分回路間
の接続経路に遅延回路を挿入する遅延挿入工程とを有す
ることを特徴としている。
【0018】上記方法によれば、ハンドシェイク用の制
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができる。
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができる。
【0019】本発明の請求項4記載の高位合成装置の高
位合成方法は、上記の課題を解決するために、請求項3
記載の高位合成装置の高位合成方法において、前記高位
合成装置は、データ通信間隔算出部及びデータ通信間隔
決定部をさらに備える一方、上記データ通信間隔算出部
にて、抽出された適格プロセスにデータ通信が発生する
最短のデータ通信間隔を算出するデータ通信間隔算出工
程と、上記データ通信間隔決定部にて、算出された適格
プロセスの最短のデータ通信間隔に基づいて適格プロセ
スを実現する部分回路のデータ通信間隔を決定するデー
タ通信間隔決定工程とをさらに含み、上記回路合成工程
では、適格プロセスを実現する部分回路のデータ通信間
隔が決定されたデータ通信間隔を満たすように回路を合
成することを特徴としている。
位合成方法は、上記の課題を解決するために、請求項3
記載の高位合成装置の高位合成方法において、前記高位
合成装置は、データ通信間隔算出部及びデータ通信間隔
決定部をさらに備える一方、上記データ通信間隔算出部
にて、抽出された適格プロセスにデータ通信が発生する
最短のデータ通信間隔を算出するデータ通信間隔算出工
程と、上記データ通信間隔決定部にて、算出された適格
プロセスの最短のデータ通信間隔に基づいて適格プロセ
スを実現する部分回路のデータ通信間隔を決定するデー
タ通信間隔決定工程とをさらに含み、上記回路合成工程
では、適格プロセスを実現する部分回路のデータ通信間
隔が決定されたデータ通信間隔を満たすように回路を合
成することを特徴としている。
【0020】上記方法によれば、回路のデータ通信間隔
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができる。
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができる。
【0021】本発明の請求項5記載の高位合成プログラ
ムを記録した記録媒体は、上記の課題を解決するため
に、同期通信の記述を含む動作記述を入力として回路を
合成するために、入力された動作記述中に記述されてい
る各プロセスから、プロセス間のデータ転送経路に形成
される有向閉路を含まない経路を介してデータ通信する
プロセスのみを適格プロセスとして抽出し、入力された
動作記述に基づいて各プロセスを実現する部分回路を生
成し、上記各適格プロセスを実現する部分回路間のみを
ハンドシェイク回路を用いずに接続し、非適格プロセス
を実現する部分回路間の接続にはハンドシェイク回路を
用いて接続することにより回路を合成し、複数経路を介
して行われる部分回路間のデータ通信が経路間で同期す
るように部分回路間の接続経路に遅延回路を挿入するこ
とを特徴としている。
ムを記録した記録媒体は、上記の課題を解決するため
に、同期通信の記述を含む動作記述を入力として回路を
合成するために、入力された動作記述中に記述されてい
る各プロセスから、プロセス間のデータ転送経路に形成
される有向閉路を含まない経路を介してデータ通信する
プロセスのみを適格プロセスとして抽出し、入力された
動作記述に基づいて各プロセスを実現する部分回路を生
成し、上記各適格プロセスを実現する部分回路間のみを
ハンドシェイク回路を用いずに接続し、非適格プロセス
を実現する部分回路間の接続にはハンドシェイク回路を
用いて接続することにより回路を合成し、複数経路を介
して行われる部分回路間のデータ通信が経路間で同期す
るように部分回路間の接続経路に遅延回路を挿入するこ
とを特徴としている。
【0022】上記記録媒体によれば、ハンドシェイク用
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成プログラムが実行可能となる。
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成プログラムが実行可能となる。
【0023】本発明の請求項6記載の高位合成プログラ
ムを記録した記録媒体は、上記の課題を解決するため
に、請求項5記載の高位合成プログラムを記録した記録
媒体において、上記高位合成プログラムが、抽出された
適格プロセスにデータ通信が発生する最短のデータ通信
間隔を算出し、算出された適格プロセスの最短のデータ
通信間隔に基づいて適格プロセスを実現する部分回路の
データ通信間隔を決定し、適格プロセスを実現する部分
回路のデータ通信間隔が決定されたデータ通信間隔を満
たすように回路を合成するものであることを特徴として
いる。
ムを記録した記録媒体は、上記の課題を解決するため
に、請求項5記載の高位合成プログラムを記録した記録
媒体において、上記高位合成プログラムが、抽出された
適格プロセスにデータ通信が発生する最短のデータ通信
間隔を算出し、算出された適格プロセスの最短のデータ
通信間隔に基づいて適格プロセスを実現する部分回路の
データ通信間隔を決定し、適格プロセスを実現する部分
回路のデータ通信間隔が決定されたデータ通信間隔を満
たすように回路を合成するものであることを特徴として
いる。
【0024】上記構成によれば、記録媒体に記録された
高位合成プログラムを実行することにより、回路のデー
タ通信間隔をデータ転送経路の遅延時間の制約のもとで
実現可能な最短の時間に調整でき、動作速度を実現可能
な上限まで容易に向上させることができる。
高位合成プログラムを実行することにより、回路のデー
タ通信間隔をデータ転送経路の遅延時間の制約のもとで
実現可能な最短の時間に調整でき、動作速度を実現可能
な上限まで容易に向上させることができる。
【0025】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1ないし図10を参照しながら説明する。図1に
示すように、本発明の高位合成装置1は、動作記述を読
み込みハンドシェイクなしに同期通信を実現可能な適格
プロセスの集合を抽出する適格プロセス抽出部2と、抽
出された各適格プロセスにデータ通信が発生する最短の
間隔を算出するデータ通信間隔算出部3と、求められた
各適格プロセスの最短のデータ通信間隔から各適格プロ
セスを実現する部分回路でのデータの通信間隔を決定す
るデータ通信間隔決定部4と、決定されたデータの通信
間隔を満たすように各適格プロセスを実現する部分回路
間を接続して回路を合成する回路合成部5と、上記各部
分回路間に必要に応じて遅延を挿入しながら各部分回路
の配線を行う遅延挿入部6とを有している。
て、図1ないし図10を参照しながら説明する。図1に
示すように、本発明の高位合成装置1は、動作記述を読
み込みハンドシェイクなしに同期通信を実現可能な適格
プロセスの集合を抽出する適格プロセス抽出部2と、抽
出された各適格プロセスにデータ通信が発生する最短の
間隔を算出するデータ通信間隔算出部3と、求められた
各適格プロセスの最短のデータ通信間隔から各適格プロ
セスを実現する部分回路でのデータの通信間隔を決定す
るデータ通信間隔決定部4と、決定されたデータの通信
間隔を満たすように各適格プロセスを実現する部分回路
間を接続して回路を合成する回路合成部5と、上記各部
分回路間に必要に応じて遅延を挿入しながら各部分回路
の配線を行う遅延挿入部6とを有している。
【0026】高位合成装置1には、部分回路(演算器、
レジスタ等)間の同期通信を命令、関数、あるいは手続
きにより記述可能な高級言語を用いて回路の動作を記述
したデータである動作記述が入力される。動作記述のた
めの高級言語としては、例えば、C言語のサブセット
に、並列処理のための命令“par”、同期通信のため
の命令“send”および“receive”等を追加
した並列C言語が用いられる。
レジスタ等)間の同期通信を命令、関数、あるいは手続
きにより記述可能な高級言語を用いて回路の動作を記述
したデータである動作記述が入力される。動作記述のた
めの高級言語としては、例えば、C言語のサブセット
に、並列処理のための命令“par”、同期通信のため
の命令“send”および“receive”等を追加
した並列C言語が用いられる。
【0027】高位合成装置1では、まず、適格プロセス
抽出部2により、入力された動作記述からハンドシェイ
クなしに同期通信を実現可能な適格プロセスを抽出す
る。適格プロセス抽出部2は、動作記述をデータ転送フ
ローグラフに変換し、該データ転送フローグラフを解析
することにより、ループなしにデータ転送を行うプロセ
スの集合をハンドシェイクなしに同期通信を実現可能な
適格プロセスとして抽出するものである。
抽出部2により、入力された動作記述からハンドシェイ
クなしに同期通信を実現可能な適格プロセスを抽出す
る。適格プロセス抽出部2は、動作記述をデータ転送フ
ローグラフに変換し、該データ転送フローグラフを解析
することにより、ループなしにデータ転送を行うプロセ
スの集合をハンドシェイクなしに同期通信を実現可能な
適格プロセスとして抽出するものである。
【0028】適格プロセス抽出部2は、図2に示すよう
に、動作記述を入力するデータ入力部8と、動作記述中
のプロセス間のデータの転送関係を表すデータ転送グラ
フを生成するデータ転送グラフ生成部9と、生成された
データ転送グラフ上で幅優先探索を行い、データ転送グ
ラフ上の節点に対してデータの入力側から昇順で番号を
付与する番号付与部10と、グラフ上の各枝の始点と終
点の番号を比較することによりデータ転送のループを検
出する番号比較部11と、上記のループを含む経路(パ
ス)上の全ての節点をデータ転送グラフから取り除く不
適格プロセス探索部12とを有している。
に、動作記述を入力するデータ入力部8と、動作記述中
のプロセス間のデータの転送関係を表すデータ転送グラ
フを生成するデータ転送グラフ生成部9と、生成された
データ転送グラフ上で幅優先探索を行い、データ転送グ
ラフ上の節点に対してデータの入力側から昇順で番号を
付与する番号付与部10と、グラフ上の各枝の始点と終
点の番号を比較することによりデータ転送のループを検
出する番号比較部11と、上記のループを含む経路(パ
ス)上の全ての節点をデータ転送グラフから取り除く不
適格プロセス探索部12とを有している。
【0029】適格プロセス抽出部2では、まず、データ
入力部8が動作記述を読み込む。次いで、データ転送グ
ラフ生成部9が、回路の各プロセスを節点で、各プロセ
ス間のデータ転送を転送元のプロセスに対応する節点か
ら転送先のプロセスに対応する節点へ向かう有向枝(矢
印)で表すデータ転送グラフ(以下、単にデータ転送グ
ラフと記す)を作成する。このデータ転送グラフでは、
上記の節点および矢印に加えて、動作記述で表された回
路の外部を表す特別な節点が設けられ、回路の外部から
の入力を持つプロセスを表す節点に対してこの回路の外
部を表す節点から有向枝が設けられる。
入力部8が動作記述を読み込む。次いで、データ転送グ
ラフ生成部9が、回路の各プロセスを節点で、各プロセ
ス間のデータ転送を転送元のプロセスに対応する節点か
ら転送先のプロセスに対応する節点へ向かう有向枝(矢
印)で表すデータ転送グラフ(以下、単にデータ転送グ
ラフと記す)を作成する。このデータ転送グラフでは、
上記の節点および矢印に加えて、動作記述で表された回
路の外部を表す特別な節点が設けられ、回路の外部から
の入力を持つプロセスを表す節点に対してこの回路の外
部を表す節点から有向枝が設けられる。
【0030】番号付与部10は、データ転送グラフを上
記の回路の外部を表す節点から幅優先探索を行い、探索
した順に1、2、3、…と昇順で番号を付与する。これ
により、データがより早く転送される節点から順に昇順
で番号が付与されることになる。なお、幅優先探索と
は、出発点(すなわち、回路への入力を表す節点)から
経路が短い節点を優先的に探索する探索方法である。
記の回路の外部を表す節点から幅優先探索を行い、探索
した順に1、2、3、…と昇順で番号を付与する。これ
により、データがより早く転送される節点から順に昇順
で番号が付与されることになる。なお、幅優先探索と
は、出発点(すなわち、回路への入力を表す節点)から
経路が短い節点を優先的に探索する探索方法である。
【0031】番号比較部11では、データ転送グラフの
各有向枝について、有向枝の始点に付与された番号と有
向枝の終点に付与された番号とを比較し、前者が後者よ
りも大きい場合には、その有向枝の始点および終点の間
にループが形成されていると判断し、その有向枝の始点
および終点に×印を付ける。この手順により、ループを
形成する節点が検出される。
各有向枝について、有向枝の始点に付与された番号と有
向枝の終点に付与された番号とを比較し、前者が後者よ
りも大きい場合には、その有向枝の始点および終点の間
にループが形成されていると判断し、その有向枝の始点
および終点に×印を付ける。この手順により、ループを
形成する節点が検出される。
【0032】不適格プロセス探索部12では、データ転
送グラフ上で、×印が付けられた節点を通る全ての経路
上の全ての節点(但し、回路の外部を表す節点を除く)
に×印を付けるという操作を、それ以上節点に×印を付
けることができなくなるまで繰り返す。そして、適格プ
ロセス抽出部2は、不適格プロセス探索部12により×
印を付けられなかった節点の集合を、ハンドシェイクな
しに同期通信を実現可能な適格プロセスの集合として抽
出する。
送グラフ上で、×印が付けられた節点を通る全ての経路
上の全ての節点(但し、回路の外部を表す節点を除く)
に×印を付けるという操作を、それ以上節点に×印を付
けることができなくなるまで繰り返す。そして、適格プ
ロセス抽出部2は、不適格プロセス探索部12により×
印を付けられなかった節点の集合を、ハンドシェイクな
しに同期通信を実現可能な適格プロセスの集合として抽
出する。
【0033】次に、適格プロセス抽出部2の動作を、高
位合成装置1に対して図3に示す動作記述が入力された
場合を例にとって説明する。
位合成装置1に対して図3に示す動作記述が入力された
場合を例にとって説明する。
【0034】図3に示す動作記述において、“Par”
は、プロセス14とプロセス15とを並列に動作させる
命令である。また、“send”は、同期通信でデータ
を送る命令であり、“receive”は、同期通信で
データを受け取る命令である。プロセス14は、“co
mm1”と“comm2”という通信路を経て外部から
データx、yを受け取り、これらデータx、yに対し
て、z=(x+y)×3という演算を行った後、得られ
たデータzを“comm3”という通信路を経てプロセ
ス15に送る動作である。プロセス15は、プロセス1
4から通信路“comm3”を経て受け取ったデータを
aに格納し、データaに対して、b=a+17という演
算を行った後、“comm4”という通信路を経てデー
タbを外部へ送る動作である。
は、プロセス14とプロセス15とを並列に動作させる
命令である。また、“send”は、同期通信でデータ
を送る命令であり、“receive”は、同期通信で
データを受け取る命令である。プロセス14は、“co
mm1”と“comm2”という通信路を経て外部から
データx、yを受け取り、これらデータx、yに対し
て、z=(x+y)×3という演算を行った後、得られ
たデータzを“comm3”という通信路を経てプロセ
ス15に送る動作である。プロセス15は、プロセス1
4から通信路“comm3”を経て受け取ったデータを
aに格納し、データaに対して、b=a+17という演
算を行った後、“comm4”という通信路を経てデー
タbを外部へ送る動作である。
【0035】適格プロセス抽出部2では、まず、データ
入力部8にて図3に示す動作記述を読み込み、データ転
送グラフ生成部9にて動作記述から図4に示すデータ転
送グラフを作成する。図4において、節点Aは回路の外
部を表す節点であり、節点Bはプロセス14を表す節点
であり、節点Cはプロセス15を表す節点である。
入力部8にて図3に示す動作記述を読み込み、データ転
送グラフ生成部9にて動作記述から図4に示すデータ転
送グラフを作成する。図4において、節点Aは回路の外
部を表す節点であり、節点Bはプロセス14を表す節点
であり、節点Cはプロセス15を表す節点である。
【0036】次に、適格プロセス抽出部2では、番号付
与部10にて、上記のデータ転送グラフに対して、図4
の各節点の右下に付けられた数字で示すように、データ
の入力側から幅優先で昇順に番号を付与する。
与部10にて、上記のデータ転送グラフに対して、図4
の各節点の右下に付けられた数字で示すように、データ
の入力側から幅優先で昇順に番号を付与する。
【0037】その後、番号比較部11では、各有向枝に
ついて始点の番号と終点の番号とを比較し、始点の番号
が終点の番号よりも大きい節点を検出して×印を付け
る。図4に示すデータ転送グラフでは、全ての有向枝に
ついて始点の番号が終点の番号よりも小さいので、×印
が付けられる節点はなく、このデータ転送グラフにはル
ープが存在しないことが分かる。従って、適格プロセス
抽出部2は、図4に示すデータ転送グラフの場合、ハン
ドシェイクなしに同期通信を実現できる適格プロセスと
して、節点B、Cにそれぞれ対応するプロセス14、1
5を抽出する。
ついて始点の番号と終点の番号とを比較し、始点の番号
が終点の番号よりも大きい節点を検出して×印を付け
る。図4に示すデータ転送グラフでは、全ての有向枝に
ついて始点の番号が終点の番号よりも小さいので、×印
が付けられる節点はなく、このデータ転送グラフにはル
ープが存在しないことが分かる。従って、適格プロセス
抽出部2は、図4に示すデータ転送グラフの場合、ハン
ドシェイクなしに同期通信を実現できる適格プロセスと
して、節点B、Cにそれぞれ対応するプロセス14、1
5を抽出する。
【0038】次に、プロセス間のデータ転送にループが
ある場合の適格プロセス抽出部2の動作を、図7に示す
データ転送グラフに基づいて説明する。
ある場合の適格プロセス抽出部2の動作を、図7に示す
データ転送グラフに基づいて説明する。
【0039】この場合、適格プロセス抽出部2では、デ
ータ転送グラフ生成部9にて図7(a)に示すデータ転
送グラフを作成し、番号付与部10にて、図7(a)に
おける各節点の右下に付けた数字で示すように番号を付
与する。次いで、番号比較部11にて、有向枝E1の始
点の番号が終点の番号よりも大きいことからループが存
在すると判断し、図7(a)に示す枝E1の始点Eおよ
び終点Gに×印を付ける。
ータ転送グラフ生成部9にて図7(a)に示すデータ転
送グラフを作成し、番号付与部10にて、図7(a)に
おける各節点の右下に付けた数字で示すように番号を付
与する。次いで、番号比較部11にて、有向枝E1の始
点の番号が終点の番号よりも大きいことからループが存
在すると判断し、図7(a)に示す枝E1の始点Eおよ
び終点Gに×印を付ける。
【0040】不適格プロセス探索部12では、図7
(b)に示すように、×印が付けられた節点を通る経路
上の全ての節点に×印を付ける。そして、適格プロセス
抽出部2では、ハンドシェイクなしで同期通信を実現可
能な適格プロセスとして、節点H、Iが表すプロセスを
要素とする集合を抽出する。
(b)に示すように、×印が付けられた節点を通る経路
上の全ての節点に×印を付ける。そして、適格プロセス
抽出部2では、ハンドシェイクなしで同期通信を実現可
能な適格プロセスとして、節点H、Iが表すプロセスを
要素とする集合を抽出する。
【0041】図1に示すデータ通信間隔算出部3では、
適格プロセス抽出部2で抽出された適格プロセスの最短
のデータ通信間隔が、各プロセスを実現する回路を駆動
するクロックの周期の何倍になるかを算出する。
適格プロセス抽出部2で抽出された適格プロセスの最短
のデータ通信間隔が、各プロセスを実現する回路を駆動
するクロックの周期の何倍になるかを算出する。
【0042】例えば、各プロセスの繰り返し処理の1回
分の処理を表す動作記述からデータフローグラフを作成
し、そのデータフローグラフ上の経路のうち、最も処理
に時間のかかる経路(以下、クリティカルパスと称す
る)を見つけ、クリティカルパスの処理時間と各プロセ
スを実現する回路を駆動するクロックの周期とから、ク
ロック周期当たりにおける各プロセスの繰り返し周期
(クロック・サイクル数)を算出する。従って、クロッ
ク周期当たりの最短データ通信間隔は、次式 クロック周期当たりの最短データ通信間隔 ={(クリティカルパスの遅延時間)÷(クロック周
期)}を下回らない最も小さい整数 により算出できる。
分の処理を表す動作記述からデータフローグラフを作成
し、そのデータフローグラフ上の経路のうち、最も処理
に時間のかかる経路(以下、クリティカルパスと称す
る)を見つけ、クリティカルパスの処理時間と各プロセ
スを実現する回路を駆動するクロックの周期とから、ク
ロック周期当たりにおける各プロセスの繰り返し周期
(クロック・サイクル数)を算出する。従って、クロッ
ク周期当たりの最短データ通信間隔は、次式 クロック周期当たりの最短データ通信間隔 ={(クリティカルパスの遅延時間)÷(クロック周
期)}を下回らない最も小さい整数 により算出できる。
【0043】図3に示す動作記述が入力された場合、デ
ータ通信間隔算出部3は、プロセス14の動作記述から
図5(a)に示すデータフローグラフを、プロセス15
の動作記述から図5(b)に示すデータフローグラフを
それぞれ作成する。
ータ通信間隔算出部3は、プロセス14の動作記述から
図5(a)に示すデータフローグラフを、プロセス15
の動作記述から図5(b)に示すデータフローグラフを
それぞれ作成する。
【0044】今、図5(a)および(b)において、+
で表される加算プロセスを実行可能な加算器の中で最も
遅延時間が短い加算器の遅延時間を20ns、×で表さ
れる乗算プロセスを実行可能な乗算器の中で最も遅延時
間が短い乗算器の遅延時間を30ns、クロックの周期
を40nsとする。図5(a)では、x、+、×、zを
この順に通る経路、および、y、+、×、zをこの順に
通る経路がクリティカルパスであり、図5(b)では、
a、+、bをこの順に通る経路、および、17、+、b
をこの順に通る経路がクリティカルパスである。したが
って、プロセス14のデータ通信間隔は2クロック、プ
ロセス15のデータ通信間隔は1クロックとなる。
で表される加算プロセスを実行可能な加算器の中で最も
遅延時間が短い加算器の遅延時間を20ns、×で表さ
れる乗算プロセスを実行可能な乗算器の中で最も遅延時
間が短い乗算器の遅延時間を30ns、クロックの周期
を40nsとする。図5(a)では、x、+、×、zを
この順に通る経路、および、y、+、×、zをこの順に
通る経路がクリティカルパスであり、図5(b)では、
a、+、bをこの順に通る経路、および、17、+、b
をこの順に通る経路がクリティカルパスである。したが
って、プロセス14のデータ通信間隔は2クロック、プ
ロセス15のデータ通信間隔は1クロックとなる。
【0045】なお、各経路の処理時間は、その経路上の
各節点が表す演算を実行可能な演算器のうち最も遅延時
間の短い演算器の遅延時間を全ての節点について足し合
わせた総和として計算することができる。また、上記の
各演算器の遅延時間の総和に対して、演算器間の配線遅
延時間を予測した値をさらに加算したものを各経路の処
理時間として算出することもできる。
各節点が表す演算を実行可能な演算器のうち最も遅延時
間の短い演算器の遅延時間を全ての節点について足し合
わせた総和として計算することができる。また、上記の
各演算器の遅延時間の総和に対して、演算器間の配線遅
延時間を予測した値をさらに加算したものを各経路の処
理時間として算出することもできる。
【0046】データ通信間隔決定部4では、各プロセス
の最短のデータ通信間隔に基づき、回路全体のデータ通
信間隔を、例えば、プロセス抽出部2で抽出された各プ
ロセスのデータ通信間隔のうち最長のデータ通信間隔
(クロック数)に決定する。したがって、図3に示す動
作記述の例では、回路全体のデータ通信間隔が2クロッ
クに決定される。なお、データ通信間隔決定部4におい
て、外部からのデータ入力の間隔から回路全体のデータ
通信間隔を決定するようにしてもよい。
の最短のデータ通信間隔に基づき、回路全体のデータ通
信間隔を、例えば、プロセス抽出部2で抽出された各プ
ロセスのデータ通信間隔のうち最長のデータ通信間隔
(クロック数)に決定する。したがって、図3に示す動
作記述の例では、回路全体のデータ通信間隔が2クロッ
クに決定される。なお、データ通信間隔決定部4におい
て、外部からのデータ入力の間隔から回路全体のデータ
通信間隔を決定するようにしてもよい。
【0047】回路合成部5では、入力された動作記述に
基づき、各プロセスからデータ通信間隔決定部4で決定
されたデータ間隔になるように、各プロセスを実現する
部分回路を生成するとともに部分回路間を接続し、回路
を合成する。このとき、回路は、各プロセスのデータ入
力が繰り返し処理の1回分の処理の中で最初に行われ、
かつ、各プロセスのデータ出力が繰り返し処理の1回分
の処理の中で最後に行われるように合成される。
基づき、各プロセスからデータ通信間隔決定部4で決定
されたデータ間隔になるように、各プロセスを実現する
部分回路を生成するとともに部分回路間を接続し、回路
を合成する。このとき、回路は、各プロセスのデータ入
力が繰り返し処理の1回分の処理の中で最初に行われ、
かつ、各プロセスのデータ出力が繰り返し処理の1回分
の処理の中で最後に行われるように合成される。
【0048】この回路合成には、例えば、従来の第1の
高位合成方法として挙げた“Behavioral C
ompiler”を含むカテゴリである高位合成で一般
に採用されている手順が用いられる。
高位合成方法として挙げた“Behavioral C
ompiler”を含むカテゴリである高位合成で一般
に採用されている手順が用いられる。
【0049】以下に、高位合成の手順について、文献
“High−Level Synthesis”(Kl
uwer Academic Publishers社
発行)で紹介されている方法を採用した場合を例に挙げ
て、図10に基づいて説明する。
“High−Level Synthesis”(Kl
uwer Academic Publishers社
発行)で紹介されている方法を採用した場合を例に挙げ
て、図10に基づいて説明する。
【0050】回路合成部5の高位合成では、まず、CD
FG生成部51にて、入力である動作記述を、実行の制
御の流れ(コントロールフロー)とデータの流れ(デー
タフロー)とを表すコントールデータフローグラフ(C
DFG)と呼ばれるグラフに変換する。このCDFGで
は、データの入出力と演算や制御の分岐とを節点で表
し、節点間のデータの流れ(依存関係)や制御の流れ
(依存関係)を枝で表す。高位合成において、動作記述
をCDFGに変換するのは、CDFGが、動作記述に記
述された動作を保証した上で、生成されるハードウェア
の並列化の余地を残した表現だからである。
FG生成部51にて、入力である動作記述を、実行の制
御の流れ(コントロールフロー)とデータの流れ(デー
タフロー)とを表すコントールデータフローグラフ(C
DFG)と呼ばれるグラフに変換する。このCDFGで
は、データの入出力と演算や制御の分岐とを節点で表
し、節点間のデータの流れ(依存関係)や制御の流れ
(依存関係)を枝で表す。高位合成において、動作記述
をCDFGに変換するのは、CDFGが、動作記述に記
述された動作を保証した上で、生成されるハードウェア
の並列化の余地を残した表現だからである。
【0051】次に、スケジューリング部52にて、CD
FGで表された依存関係に基づき、節点に対応するデー
タの入出力や演算、制御が実行される相対的な時間を決
定する、スケジューリングと呼ばれる処理を実行する。
FGで表された依存関係に基づき、節点に対応するデー
タの入出力や演算、制御が実行される相対的な時間を決
定する、スケジューリングと呼ばれる処理を実行する。
【0052】次に、アロケーション部53にて、アロケ
ーションと呼ばれる以下の処理が実行される。すなわ
ち、アロケーション部53では、まず、演算に割り当て
られる演算器、データを選択するためのセレクタ、デー
タを記憶するためのレジスタ等の回路を構成するために
必要な回路要素(素子)が選択される。さらに、アロケ
ーション部53では、これらの回路要素を制御するため
の制御回路が生成され、各回路間を接続することにより
回路が合成される。なお、回路要素の選択は、スケジュ
ーリング部52にて、スケジューリング処理とともに実
行される場合もある。
ーションと呼ばれる以下の処理が実行される。すなわ
ち、アロケーション部53では、まず、演算に割り当て
られる演算器、データを選択するためのセレクタ、デー
タを記憶するためのレジスタ等の回路を構成するために
必要な回路要素(素子)が選択される。さらに、アロケ
ーション部53では、これらの回路要素を制御するため
の制御回路が生成され、各回路間を接続することにより
回路が合成される。なお、回路要素の選択は、スケジュ
ーリング部52にて、スケジューリング処理とともに実
行される場合もある。
【0053】この回路合成で、出力するデータを次回の
データ出力まで保持するように回路を合成すれば、デー
タ入力に関する上記の制限を受けることなく回路を合成
することができる。
データ出力まで保持するように回路を合成すれば、デー
タ入力に関する上記の制限を受けることなく回路を合成
することができる。
【0054】なお、部分回路間にデータ転送ループがあ
った場合には、ハンドシェイク回路を取り除くことがで
きないため、ハンドシェイクを付加して部分回路を合成
し、データ線および制御線を用いて部分回路間を接続す
る。
った場合には、ハンドシェイク回路を取り除くことがで
きないため、ハンドシェイクを付加して部分回路を合成
し、データ線および制御線を用いて部分回路間を接続す
る。
【0055】遅延挿入部6では、データの転送経路に分
岐および再収斂がある場合に、各経路を通って再収斂部
分にデータが届くまでの時間が各経路間で等しくなるよ
うに部分回路間に遅延回路を挿入し、合成された部分回
路における対応する入力端および出力端を遅延回路に接
続することにより最終的な回路を合成し、該回路の構成
を表すレジスタ転送レベルデータを出力する。ここで、
レジスタ転送レベルデータとは、VHDL等の言語によ
りレジスタ転送レベルの回路構成を記述したデータであ
る。
岐および再収斂がある場合に、各経路を通って再収斂部
分にデータが届くまでの時間が各経路間で等しくなるよ
うに部分回路間に遅延回路を挿入し、合成された部分回
路における対応する入力端および出力端を遅延回路に接
続することにより最終的な回路を合成し、該回路の構成
を表すレジスタ転送レベルデータを出力する。ここで、
レジスタ転送レベルデータとは、VHDL等の言語によ
りレジスタ転送レベルの回路構成を記述したデータであ
る。
【0056】図3に示す動作記述から回路合成部5で合
成された回路の例を図6に示す。この例の場合は、デー
タの転送経路に再収斂がないので、遅延回路を挿入する
必要がない。このため、遅延挿入部6では、プロセス1
4を実現する回路の出力端zとプロセス15を実現する
回路の入力端aとをそのまま接続した回路を出力する。
成された回路の例を図6に示す。この例の場合は、デー
タの転送経路に再収斂がないので、遅延回路を挿入する
必要がない。このため、遅延挿入部6では、プロセス1
4を実現する回路の出力端zとプロセス15を実現する
回路の入力端aとをそのまま接続した回路を出力する。
【0057】一方、図8(a)のデータ転送グラフで示
す例では、データの転送経路に再収斂があるので、遅延
挿入部6で遅延回路を挿入する操作を行う。図8(a)
において、節点Jは回路の外部を表し、節点K、L、
M、N、Oはそれぞれプロセス(以下、それぞれ、プロ
セス1、2、3、4、5と記す)を表している。
す例では、データの転送経路に再収斂があるので、遅延
挿入部6で遅延回路を挿入する操作を行う。図8(a)
において、節点Jは回路の外部を表し、節点K、L、
M、N、Oはそれぞれプロセス(以下、それぞれ、プロ
セス1、2、3、4、5と記す)を表している。
【0058】この場合、遅延挿入部6では、プロセス
1、2、3(節点K、L、M)をこの順に通ってプロセ
ス5(節点O)に転送されるデータと、プロセス1、4
(節点K、N)をこの順に通ってプロセス5(節点O)
に転送されるデータとが、同じタイミングでプロセス5
(節点O)に届くように、プロセス4を実現する回路1
9の前段あるいは後段にデータ遅延回路21を挿入す
る。例えば、図8(b)に示すように、プロセス4を実
現する回路19の後段にデータ遅延回路21を挿入す
る。したがって、例えば、各プロセス1、2、3、4、
5が何れも4クロックおきにデータを転送するものとす
れば、データ遅延回路21のクロック数は、4クロック
に設定される。なお、図8(b)に示す回路16、1
7、18、19、20は、それぞれ、プロセス1、2、
3、4、5を実現する部分回路である。
1、2、3(節点K、L、M)をこの順に通ってプロセ
ス5(節点O)に転送されるデータと、プロセス1、4
(節点K、N)をこの順に通ってプロセス5(節点O)
に転送されるデータとが、同じタイミングでプロセス5
(節点O)に届くように、プロセス4を実現する回路1
9の前段あるいは後段にデータ遅延回路21を挿入す
る。例えば、図8(b)に示すように、プロセス4を実
現する回路19の後段にデータ遅延回路21を挿入す
る。したがって、例えば、各プロセス1、2、3、4、
5が何れも4クロックおきにデータを転送するものとす
れば、データ遅延回路21のクロック数は、4クロック
に設定される。なお、図8(b)に示す回路16、1
7、18、19、20は、それぞれ、プロセス1、2、
3、4、5を実現する部分回路である。
【0059】本発明に係る高位合成装置は、図9に示す
コンピュータ30により実現することもできる。コンピ
ュータ30は、内部にCPU(中央演算処理部)31、
ROM(リードオンリーメモリ)32、RAM(ランダ
ムアクセスメモリ)33、および出力装置としてのCR
T(陰極管)ディスプレイ36を備えている。また、C
PU31には、ハードディスク(記録媒体)37を読み
書きするためのHDD(ハードディスクドライブ)34
と、フロッピーディスク(記録媒体)38を読み書きす
るためのFDD(フロッピーディスクドライブ)35と
が接続されている。
コンピュータ30により実現することもできる。コンピ
ュータ30は、内部にCPU(中央演算処理部)31、
ROM(リードオンリーメモリ)32、RAM(ランダ
ムアクセスメモリ)33、および出力装置としてのCR
T(陰極管)ディスプレイ36を備えている。また、C
PU31には、ハードディスク(記録媒体)37を読み
書きするためのHDD(ハードディスクドライブ)34
と、フロッピーディスク(記録媒体)38を読み書きす
るためのFDD(フロッピーディスクドライブ)35と
が接続されている。
【0060】コンピュータ30では、フロッピーディス
ク38、ハードディスク37、あるいはROM32に記
録された高位合成プログラムとCPU31とにより構成
される機能モジュールによって、高位合成装置1と同様
の機能が実現されるようになっている。上記高位合成プ
ログラムは、コンピュータ30の起動時にRAM33に
読み込まれ、CPU31により実行される。また、高位
合成プログラムの実行に必要な動作記述は、コンピュー
タ30に接続されたキーボード等の入力装置から入力さ
れ、高位合成プログラムにより合成された回路のレジス
タ転送レベルデータは、CRTディスプレイ36により
表示される。
ク38、ハードディスク37、あるいはROM32に記
録された高位合成プログラムとCPU31とにより構成
される機能モジュールによって、高位合成装置1と同様
の機能が実現されるようになっている。上記高位合成プ
ログラムは、コンピュータ30の起動時にRAM33に
読み込まれ、CPU31により実行される。また、高位
合成プログラムの実行に必要な動作記述は、コンピュー
タ30に接続されたキーボード等の入力装置から入力さ
れ、高位合成プログラムにより合成された回路のレジス
タ転送レベルデータは、CRTディスプレイ36により
表示される。
【0061】なお、ハードディスク37あるいはフロッ
ピーディスク38の代わりに、他の記録媒体、例えば、
CD−ROM(コンパクトディスク−リードオンリーメ
モリ)等の光ディスク、光磁気ディスク、MD(ミニ・
ディスク)、磁気テープ等を用い、HDD34やFDD
35の代わりに該当する記録媒体の読み取りを行うため
の装置を用いてもよい。また、出力装置として、CRT
ディスプレイ36の代わりに、例えば、液晶表示装置な
どの他の表示装置や、プリンタを用いてもよい。
ピーディスク38の代わりに、他の記録媒体、例えば、
CD−ROM(コンパクトディスク−リードオンリーメ
モリ)等の光ディスク、光磁気ディスク、MD(ミニ・
ディスク)、磁気テープ等を用い、HDD34やFDD
35の代わりに該当する記録媒体の読み取りを行うため
の装置を用いてもよい。また、出力装置として、CRT
ディスプレイ36の代わりに、例えば、液晶表示装置な
どの他の表示装置や、プリンタを用いてもよい。
【0062】以上、ここで挙げた実施形態および実施例
は、本発明の主旨を変えない限り、上記内容に限定され
るものではない。
は、本発明の主旨を変えない限り、上記内容に限定され
るものではない。
【0063】
【発明の効果】本発明の請求項1記載の高位合成装置
は、以上のように、同期通信の記述を含む動作記述を入
力として回路を合成する高位合成装置であって、入力さ
れた動作記述中に記述されている各プロセスから、プロ
セス間のデータ転送経路に形成される有向閉路を含まな
い経路を介してデータ通信するプロセスのみを適格プロ
セスとして抽出する適格プロセス抽出部と、入力された
動作記述に基づいて各プロセスを実現する部分回路を生
成し、上記各適格プロセスを実現する部分回路間のみを
ハンドシェイク回路を用いずに接続し、非適格プロセス
を実現する部分回路間の接続にはハンドシェイク回路を
用いて接続することにより、回路を合成する回路合成部
と、複数経路を介して行われる部分回路間のデータ通信
が経路間で同期するように部分回路間の接続経路に遅延
回路を挿入する遅延挿入部とを有する構成である。
は、以上のように、同期通信の記述を含む動作記述を入
力として回路を合成する高位合成装置であって、入力さ
れた動作記述中に記述されている各プロセスから、プロ
セス間のデータ転送経路に形成される有向閉路を含まな
い経路を介してデータ通信するプロセスのみを適格プロ
セスとして抽出する適格プロセス抽出部と、入力された
動作記述に基づいて各プロセスを実現する部分回路を生
成し、上記各適格プロセスを実現する部分回路間のみを
ハンドシェイク回路を用いずに接続し、非適格プロセス
を実現する部分回路間の接続にはハンドシェイク回路を
用いて接続することにより、回路を合成する回路合成部
と、複数経路を介して行われる部分回路間のデータ通信
が経路間で同期するように部分回路間の接続経路に遅延
回路を挿入する遅延挿入部とを有する構成である。
【0064】上記構成によれば、ハンドシェイク用の制
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができるという効果
を奏する。
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができるという効果
を奏する。
【0065】本発明の請求項2記載の高位合成装置は、
以上のように、請求項1記載の高位合成装置において、
抽出された適格プロセスにデータ通信が発生する最短の
データ通信間隔を算出するデータ通信間隔算出部と、算
出された適格プロセスの最短のデータ通信間隔に基づい
て適格プロセスを実現する部分回路のデータ通信間隔を
決定するデータ通信間隔決定部とをさらに含み、上記回
路合成部は、適格プロセスを実現する部分回路のデータ
通信間隔が決定されたデータ通信間隔を満たすように回
路を合成するものである構成である。
以上のように、請求項1記載の高位合成装置において、
抽出された適格プロセスにデータ通信が発生する最短の
データ通信間隔を算出するデータ通信間隔算出部と、算
出された適格プロセスの最短のデータ通信間隔に基づい
て適格プロセスを実現する部分回路のデータ通信間隔を
決定するデータ通信間隔決定部とをさらに含み、上記回
路合成部は、適格プロセスを実現する部分回路のデータ
通信間隔が決定されたデータ通信間隔を満たすように回
路を合成するものである構成である。
【0066】上記構成によれば、回路のデータ通信間隔
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができるという効果を奏す
る。
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができるという効果を奏す
る。
【0067】本発明の請求項3記載の高位合成装置の高
位合成方法は、以上のように、同期通信の記述を含む動
作記述を入力として回路を合成する、適格プロセス抽出
部、回路合成部、及び遅延挿入部を備えた高位合成装置
の高位合成方法であって、上記適格プロセス抽出部に
て、入力された動作記述中に記述されている各プロセス
から、プロセス間のデータ転送経路に形成される有向閉
路を含まない経路を介してデータ通信するプロセスのみ
を適格プロセスとして抽出する適格プロセス抽出工程
と、上記回路合成部にて、入力された動作記述に基づい
て各プロセスを実現する部分回路を生成し、上記各適格
プロセスを実現する部分回路間のみをハンドシェイク回
路を用いずに接続し、非適格プロセスを実現する部分回
路間の接続にはハンドシェイク回路を用いて接続するこ
とにより、回路を合成する回路合成工程と、上記遅延挿
入部にて、複数経路を介して行われる部分回路間のデー
タ通信が経路間で同期するように部分回路間の接続経路
に遅延回路を挿入する遅延挿入工程とを有する方法であ
る。
位合成方法は、以上のように、同期通信の記述を含む動
作記述を入力として回路を合成する、適格プロセス抽出
部、回路合成部、及び遅延挿入部を備えた高位合成装置
の高位合成方法であって、上記適格プロセス抽出部に
て、入力された動作記述中に記述されている各プロセス
から、プロセス間のデータ転送経路に形成される有向閉
路を含まない経路を介してデータ通信するプロセスのみ
を適格プロセスとして抽出する適格プロセス抽出工程
と、上記回路合成部にて、入力された動作記述に基づい
て各プロセスを実現する部分回路を生成し、上記各適格
プロセスを実現する部分回路間のみをハンドシェイク回
路を用いずに接続し、非適格プロセスを実現する部分回
路間の接続にはハンドシェイク回路を用いて接続するこ
とにより、回路を合成する回路合成工程と、上記遅延挿
入部にて、複数経路を介して行われる部分回路間のデー
タ通信が経路間で同期するように部分回路間の接続経路
に遅延回路を挿入する遅延挿入工程とを有する方法であ
る。
【0068】上記方法によれば、ハンドシェイク用の制
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができるという効果
を奏する。
御線なしに非同期プロセス間の同期通信をシミュレーシ
ョンすることができ、全体として規模が小さく、かつ、
動作速度が速い回路を合成することができるという効果
を奏する。
【0069】本発明の請求項4記載の高位合成装置の高
位合成方法は、以上のように、請求項3記載の高位合成
装置の高位合成方法において、前記高位合成装置は、デ
ータ通信間隔算出部及びデータ通信間隔決定部をさらに
備える一方、上記データ通信間隔算出部にて、抽出され
た適格プロセスにデータ通信が発生する最短のデータ通
信間隔を算出するデータ通信間隔算出工程と、上記デー
タ通信間隔決定部にて、算出された適格プロセスの最短
のデータ通信間隔に基づいて適格プロセスを実現する部
分回路のデータ通信間隔を決定するデータ通信間隔決定
工程とをさらに含み、上記回路合成工程では、適格プロ
セスを実現する部分回路のデータ通信間隔が決定された
データ通信間隔を満たすように回路を合成する方法であ
る。
位合成方法は、以上のように、請求項3記載の高位合成
装置の高位合成方法において、前記高位合成装置は、デ
ータ通信間隔算出部及びデータ通信間隔決定部をさらに
備える一方、上記データ通信間隔算出部にて、抽出され
た適格プロセスにデータ通信が発生する最短のデータ通
信間隔を算出するデータ通信間隔算出工程と、上記デー
タ通信間隔決定部にて、算出された適格プロセスの最短
のデータ通信間隔に基づいて適格プロセスを実現する部
分回路のデータ通信間隔を決定するデータ通信間隔決定
工程とをさらに含み、上記回路合成工程では、適格プロ
セスを実現する部分回路のデータ通信間隔が決定された
データ通信間隔を満たすように回路を合成する方法であ
る。
【0070】上記方法によれば、回路のデータ通信間隔
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができるという効果を奏す
る。
をデータ転送経路の遅延時間の制約のもとで実現可能な
最短の時間に調整できるので、動作速度を実現可能な上
限まで容易に向上させることができるという効果を奏す
る。
【0071】本発明の請求項5記載の高位合成プログラ
ムを記録した記録媒体は、以上のように、上記高位合成
プログラムが、同期通信の記述を含む動作記述を入力と
して回路を合成するために、入力された動作記述中に記
述されている各プロセスから、プロセス間のデータ転送
経路に形成される有向閉路を含まない経路を介してデー
タ通信するプロセスのみを適格プロセスとして抽出し、
入力された動作記述に基づいて各プロセスを実現する部
分回路を生成し、上記各適格プロセスを実現する部分回
路間のみをハンドシェイク回路を用いずに接続し、非適
格プロセスを実現する部分回路間の接続にはハンドシェ
イク回路を用いて接続することにより回路を合成し、複
数経路を介して行われる部分回路間のデータ通信が経路
間で同期するように部分回路間の接続経路に遅延回路を
挿入する構成である。
ムを記録した記録媒体は、以上のように、上記高位合成
プログラムが、同期通信の記述を含む動作記述を入力と
して回路を合成するために、入力された動作記述中に記
述されている各プロセスから、プロセス間のデータ転送
経路に形成される有向閉路を含まない経路を介してデー
タ通信するプロセスのみを適格プロセスとして抽出し、
入力された動作記述に基づいて各プロセスを実現する部
分回路を生成し、上記各適格プロセスを実現する部分回
路間のみをハンドシェイク回路を用いずに接続し、非適
格プロセスを実現する部分回路間の接続にはハンドシェ
イク回路を用いて接続することにより回路を合成し、複
数経路を介して行われる部分回路間のデータ通信が経路
間で同期するように部分回路間の接続経路に遅延回路を
挿入する構成である。
【0072】上記記録媒体によれば、ハンドシェイク用
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成プログラムが実行可能となるという効果を奏する。
の制御線なしに非同期プロセス間の同期通信をシミュレ
ーションすることができ、全体として規模が小さく、か
つ、動作速度が速い回路を合成することができる高位合
成プログラムが実行可能となるという効果を奏する。
【0073】本発明の請求項6記載の高位合成プログラ
ムを記録した記録媒体は、以上のように、請求項5記載
の高位合成プログラムを記録した記録媒体において、上
記高位合成プログラムが、抽出された適格プロセスにデ
ータ通信が発生する最短のデータ通信間隔を算出し、算
出された適格プロセスの最短のデータ通信間隔に基づい
て適格プロセスを実現する部分回路のデータ通信間隔を
決定し、適格プロセスを実現する部分回路のデータ通信
間隔が決定されたデータ通信間隔を満たすように回路を
合成する構成である。
ムを記録した記録媒体は、以上のように、請求項5記載
の高位合成プログラムを記録した記録媒体において、上
記高位合成プログラムが、抽出された適格プロセスにデ
ータ通信が発生する最短のデータ通信間隔を算出し、算
出された適格プロセスの最短のデータ通信間隔に基づい
て適格プロセスを実現する部分回路のデータ通信間隔を
決定し、適格プロセスを実現する部分回路のデータ通信
間隔が決定されたデータ通信間隔を満たすように回路を
合成する構成である。
【0074】上記構成によれば、記録媒体に記録された
高位合成プログラムを実行することにより、回路のデー
タ通信間隔をデータ転送経路の遅延時間の制約のもとで
実現可能な最短の時間に調整でき、動作速度を実現可能
な上限まで容易に向上させることができるという効果を
奏する。
高位合成プログラムを実行することにより、回路のデー
タ通信間隔をデータ転送経路の遅延時間の制約のもとで
実現可能な最短の時間に調整でき、動作速度を実現可能
な上限まで容易に向上させることができるという効果を
奏する。
【図1】本発明に係る高位合成装置の実施の一形態を示
すブロック図である。
すブロック図である。
【図2】図1に示す高位合成装置のプロセス抽出部の構
成を示すブロック図である。
成を示すブロック図である。
【図3】本発明に係る高位合成装置に入力される動作記
述の一例を示す説明図である。
述の一例を示す説明図である。
【図4】図3に示す動作記述から図2に示すプロセス抽
出部のデータ転送グラフ生成部で生成されるデータ転送
グラフの一例を示す。
出部のデータ転送グラフ生成部で生成されるデータ転送
グラフの一例を示す。
【図5】図3に示す動作記述から図1に示す高位合成装
置のデータ通信間隔算出部で生成されるデータフローグ
ラフの一例を示すものであり、(a)は図3の第1のプ
ロセスから生成されるデータフローグラフ、(b)は図
3の第2のプロセスから生成されるデータフローグラフ
である。
置のデータ通信間隔算出部で生成されるデータフローグ
ラフの一例を示すものであり、(a)は図3の第1のプ
ロセスから生成されるデータフローグラフ、(b)は図
3の第2のプロセスから生成されるデータフローグラフ
である。
【図6】本発明に係る高位合成装置により図3に示す動
作記述に基づいて合成された回路の例を示すブロック図
である。
作記述に基づいて合成された回路の例を示すブロック図
である。
【図7】データ転送経路にループが存在する場合の図1
に示す高位合成装置のプロセス抽出部における処理を説
明する説明図であり、(a)は、データ転送グラフの例
および上記プロセス抽出部の番号付与部で番号を付与し
た結果を示す説明図、(b)は、(a)のデータ転送グ
ラフに対して上記プロセス抽出部の不適格プロセス探索
部で不適格プロセスを探索した結果を示す説明図であ
る。
に示す高位合成装置のプロセス抽出部における処理を説
明する説明図であり、(a)は、データ転送グラフの例
および上記プロセス抽出部の番号付与部で番号を付与し
た結果を示す説明図、(b)は、(a)のデータ転送グ
ラフに対して上記プロセス抽出部の不適格プロセス探索
部で不適格プロセスを探索した結果を示す説明図であ
る。
【図8】図1に示す高位合成装置の遅延挿入部の動作を
示すための説明図であり、(a)は、データ転送グラフ
の一例を示し、(b)は、(a)のデータ転送グラフか
ら合成された回路に対して上記遅延挿入部で遅延回路を
挿入した結果を示すための説明図である。
示すための説明図であり、(a)は、データ転送グラフ
の一例を示し、(b)は、(a)のデータ転送グラフか
ら合成された回路に対して上記遅延挿入部で遅延回路を
挿入した結果を示すための説明図である。
【図9】本発明に係る高位合成装置をコンピュータで実
現した場合の構成例を示すブロック図である。
現した場合の構成例を示すブロック図である。
【図10】図1に示す高位合成装置の回路合成部の典型
的な構成例を示すブロック図である。
的な構成例を示すブロック図である。
1 高位合成装置
2 適格プロセス抽出部
3 データ通信間隔算出部
4 データ通信間隔決定部
5 回路合成部
6 遅延挿入部
8 データ入力部
9 データ転送グラフ生成部
10 番号付与部
11 番号比較部
12 不適格プロセス探索部
37 ハードディスク(記録媒体)
38 フロッピーディスク(記録媒体)
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 平8−101861(JP,A)
特開 平2−8937(JP,A)
田嶋宏規、外2名,ループフォールデ
ィングスケジューリングによるレジスタ
間データ転送コストの最小化,電子情報
通信学会技術研究報告,電子情報通信学
会,1997年12月12日,Vol.97,N
o.444(VLD97−100〜112),p.
95−102
西田浩一、外4名,ハードウェアコン
パイラ Bach,情報処理学会研究報
告,情報処理学会,1997年10月28日,V
ol.97、No.103(97−DA−85),
p.167−172
(58)調査した分野(Int.Cl.7,DB名)
G06F 17/50 654
JICSTファイル(JOIS)
Claims (6)
- 【請求項1】同期通信の記述を含む動作記述を入力とし
て回路を合成する高位合成装置であって、 入力された動作記述中に記述されている各プロセスか
ら、プロセス間のデータ転送経路に形成される有向閉路
を含まない経路を介してデータ通信するプロセスのみを
適格プロセスとして抽出する適格プロセス抽出部と、 入力された動作記述に基づいて各プロセスを実現する部
分回路を生成し、上記各適格プロセスを実現する部分回
路間のみをハンドシェイク回路を用いずに接続し、非適
格プロセスを実現する部分回路間の接続にはハンドシェ
イク回路を用いて接続することにより、回路を合成する
回路合成部と、 複数経路を介して行われる部分回路間のデータ通信が経
路間で同期するように部分回路間の接続経路に遅延回路
を挿入する遅延挿入部とを有することを特徴とする高位
合成装置。 - 【請求項2】抽出された適格プロセスにデータ通信が発
生する最短のデータ通信間隔を算出するデータ通信間隔
算出部と、 算出された適格プロセスの最短のデータ通信間隔に基づ
いて適格プロセスを実現する部分回路のデータ通信間隔
を決定するデータ通信間隔決定部とをさらに含み、 上記回路合成部は、適格プロセスを実現する部分回路の
データ通信間隔が決定されたデータ通信間隔を満たすよ
うに回路を合成するものであることを特徴とする請求項
1記載の高位合成装置。 - 【請求項3】同期通信の記述を含む動作記述を入力とし
て回路を合成する、適格プロセス抽出部、回路合成部、
及び遅延挿入部を備えた高位合成装置の高位合成方法で
あって、上記 適格プロセス抽出部にて、入力された動作記述中に
記述されている各プロセスから、プロセス間のデータ転
送経路に形成される有向閉路を含まない経路を介してデ
ータ通信するプロセスのみを適格プロセスとして抽出す
る適格プロセス抽出工程と、上記 回路合成部にて、入力された動作記述に基づいて各
プロセスを実現する部分回路を生成し、上記各適格プロ
セスを実現する部分回路間のみをハンドシェイク回路を
用いずに接続し、非適格プロセスを実現する部分回路間
の接続にはハンドシェイク回路を用いて接続することに
より、回路を合成する回路合成工程と、上記 遅延挿入部にて、複数経路を介して行われる部分回
路間のデータ通信が経路間で同期するように部分回路間
の接続経路に遅延回路を挿入する遅延挿入工程とを有す
ることを特徴とする高位合成装置の高位合成方法。 - 【請求項4】前記高位合成装置は、データ通信間隔算出
部及びデータ通信間隔決定部をさらに備える一方、 上記 データ通信間隔算出部にて、抽出された適格プロセ
スにデータ通信が発生する最短のデータ通信間隔を算出
するデータ通信間隔算出工程と、上記 データ通信間隔決定部にて、算出された適格プロセ
スの最短のデータ通信間隔に基づいて適格プロセスを実
現する部分回路のデータ通信間隔を決定するデータ通信
間隔決定工程とをさらに含み、 上記回路合成工程では、適格プロセスを実現する部分回
路のデータ通信間隔が決定されたデータ通信間隔を満た
すように回路を合成することを特徴とする請求項3記載
の高位合成装置の高位合成方法。 - 【請求項5】同期通信の記述を含む動作記述を入力とし
て回路を合成するために、入力された動作記述中に記述
されている各プロセスから、プロセス間のデータ転送経
路に形成される有向閉路を含まない経路を介してデータ
通信するプロセスのみを適格プロセスとして抽出し、入
力された動作記述に基づいて各プロセスを実現する部分
回路を生成し、上記各適格プロセスを実現する部分回路
間のみをハンドシェイク回路を用いずに接続し、非適格
プロセスを実現する部分回路間の接続にはハンドシェイ
ク回路を用いて接続することにより回路を合成し、複数
経路を介して行われる部分回路間のデータ通信が経路間
で同期するように部分回路間の接続経路に遅延回路を挿
入することを特徴とする高位合成プログラムを記録した
記録媒体。 - 【請求項6】上記高位合成プログラムが、抽出された適
格プロセスにデータ通信が発生する最短のデータ通信間
隔を算出し、算出された適格プロセスの最短のデータ通
信間隔に基づいて適格プロセスを実現する部分回路のデ
ータ通信間隔を決定し、適格プロセスを実現する部分回
路のデータ通信間隔が決定されたデータ通信間隔を満た
すように回路を合成するものであることを特徴とする請
求項5記載の高位合成プログラムを記録した記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35385797A JP3423603B2 (ja) | 1997-12-22 | 1997-12-22 | 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 |
US09/212,364 US6438739B1 (en) | 1997-12-22 | 1998-12-15 | High-level synthesis device high level synthesis method and recording medium with high level synthesis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35385797A JP3423603B2 (ja) | 1997-12-22 | 1997-12-22 | 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11184896A JPH11184896A (ja) | 1999-07-09 |
JP3423603B2 true JP3423603B2 (ja) | 2003-07-07 |
Family
ID=18433703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35385797A Expired - Fee Related JP3423603B2 (ja) | 1997-12-22 | 1997-12-22 | 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6438739B1 (ja) |
JP (1) | JP3423603B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3722351B2 (ja) * | 2000-02-18 | 2005-11-30 | シャープ株式会社 | 高位合成方法およびその実施に使用される記録媒体 |
US6519757B1 (en) * | 2000-04-11 | 2003-02-11 | International Business Machines Corporation | Hardware design language generation for input/output logic level |
US6980941B2 (en) * | 2001-01-31 | 2005-12-27 | Kabushiki Kaisha Toshiba | Method and computer program product for realizing a system specification which is described in a system description language |
KR100747519B1 (ko) * | 2001-04-06 | 2007-08-08 | 엘지전자 주식회사 | 티브이의 프로그램 공유 서비스 제공 장치 |
JP4029959B2 (ja) * | 2001-08-31 | 2008-01-09 | シャープ株式会社 | 演算器アロケーション設計装置および演算器アロケーション設計方法 |
US7020716B2 (en) * | 2001-08-31 | 2006-03-28 | Adaptec, Inc. | Method and system for verifying the hardware implementation of TCP/IP |
US7107568B2 (en) * | 2002-10-07 | 2006-09-12 | Hewlett-Packard Development Company, Lp. | System and method for reducing wire delay or congestion during synthesis of hardware solvers |
US6925628B2 (en) * | 2002-10-22 | 2005-08-02 | Matsushita Electric Industrial Co., Ltd. | High-level synthesis method |
JP4352315B2 (ja) * | 2002-10-31 | 2009-10-28 | 日本光電工業株式会社 | 信号処理方法/装置及びそれを用いたパルスフォトメータ |
US6904573B1 (en) * | 2003-05-27 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Logic gate identification based on hardware description language circuit specification |
US20050077938A1 (en) * | 2003-10-13 | 2005-04-14 | International Business Machines Corporation | High voltage i/o signal propagation boost circuit |
US7278122B2 (en) * | 2004-06-24 | 2007-10-02 | Ftl Systems, Inc. | Hardware/software design tool and language specification mechanism enabling efficient technology retargeting and optimization |
JP2007034584A (ja) * | 2005-07-26 | 2007-02-08 | Toshiba Corp | 高位合成装置、自動高位合成方法、高位合成プログラム及びゲートネットリスト自動検証方法 |
JP2007287044A (ja) * | 2006-04-19 | 2007-11-01 | Toshiba Corp | 設計支援装置 |
JP4978502B2 (ja) * | 2008-02-15 | 2012-07-18 | 富士通株式会社 | 回路設計支援プログラム、回路設計支援方法および回路設計支援装置 |
FR2978263A1 (fr) * | 2011-07-18 | 2013-01-25 | Modae Technologies | Procede de synthese de haut niveau d'une application |
US9529951B2 (en) * | 2014-05-29 | 2016-12-27 | International Business Machines Corporation | Synthesis tuning system for VLSI design optimization |
US9449131B2 (en) * | 2014-06-02 | 2016-09-20 | Xilinx, Inc. | Extracting system architecture in high level synthesis |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6053949A (en) * | 1996-09-20 | 2000-04-25 | Matsushita Electric Industrial Co., Ltd. | Simulator of logic circuit and simulation method |
-
1997
- 1997-12-22 JP JP35385797A patent/JP3423603B2/ja not_active Expired - Fee Related
-
1998
- 1998-12-15 US US09/212,364 patent/US6438739B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
田嶋宏規、外2名,ループフォールディングスケジューリングによるレジスタ間データ転送コストの最小化,電子情報通信学会技術研究報告,電子情報通信学会,1997年12月12日,Vol.97,No.444(VLD97−100〜112),p.95−102 |
西田浩一、外4名,ハードウェアコンパイラ Bach,情報処理学会研究報告,情報処理学会,1997年10月28日,Vol.97、No.103(97−DA−85),p.167−172 |
Also Published As
Publication number | Publication date |
---|---|
JPH11184896A (ja) | 1999-07-09 |
US6438739B1 (en) | 2002-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3423603B2 (ja) | 高位合成装置及び高位合成方法、並びに高位合成プログラムを記録した記録媒体 | |
USRE40925E1 (en) | Methods for automatically pipelining loops | |
US6678644B1 (en) | Integrated circuit models having associated timing exception information therewith for use with electronic design automation | |
US6496972B1 (en) | Method and system for circuit design top level and block optimization | |
US5650938A (en) | Method and apparatus for verifying asynchronous circuits using static timing analysis and dynamic functional simulation | |
EP2145272B1 (en) | Multiplexing of inputs and delayed inputs of a circuit emulation | |
US8468475B2 (en) | Conversion of circuit description to an abstract model of the circuit | |
US5644498A (en) | Timing shell generation through netlist reduction | |
US6438731B1 (en) | Integrated circuit models having associated timing exception information therewith for use in circuit design optimizations | |
US5825658A (en) | Method and a system for specifying and automatically analyzing multiple clock timing constraints in a VLSI circuit | |
EP2165280B1 (en) | Recording of emulation states using replicated memory elements | |
JP3904645B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション装置 | |
Smith et al. | An architecture design and assessment system for software/hardware codesign | |
Raudvere et al. | Application and verification of local nonsemantic-preserving transformations in system design | |
US7228513B2 (en) | Circuit operation verification device and method | |
JPH113367A (ja) | デジタルシステムのインプリメント可能な記述を生成する設計環境および方法 | |
JP4370335B2 (ja) | Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法 | |
Bergamaschi et al. | A system for production use of high-level synthesis | |
Oberg et al. | Grammar-based hardware synthesis from port-size independent specifications | |
Madisetti et al. | Reengineering legacy embedded systems | |
JP2001209664A (ja) | 高位合成方法並びに高位合成方法の実施に使用される記録媒体 | |
JP5104356B2 (ja) | 検証支援プログラム、検証支援装置、および検証支援方法 | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
US8090564B1 (en) | Automatic generation of transaction level bus simulation instructions from bus protocol | |
Ku et al. | Synthesis of asics with hercules and hebe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |