JP2002140379A - 高位合成方法および高位合成装置 - Google Patents

高位合成方法および高位合成装置

Info

Publication number
JP2002140379A
JP2002140379A JP2000334017A JP2000334017A JP2002140379A JP 2002140379 A JP2002140379 A JP 2002140379A JP 2000334017 A JP2000334017 A JP 2000334017A JP 2000334017 A JP2000334017 A JP 2000334017A JP 2002140379 A JP2002140379 A JP 2002140379A
Authority
JP
Japan
Prior art keywords
bus
circuit
data
level
bus connection
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.)
Granted
Application number
JP2000334017A
Other languages
English (en)
Other versions
JP3852741B2 (ja
Inventor
Mitsuhisa Onishi
充久 大西
Shinichi Tanaka
伸一 田中
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000334017A priority Critical patent/JP3852741B2/ja
Priority to EP01309068A priority patent/EP1202194A3/en
Priority to US09/984,897 priority patent/US6687894B2/en
Publication of JP2002140379A publication Critical patent/JP2002140379A/ja
Application granted granted Critical
Publication of JP3852741B2 publication Critical patent/JP3852741B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit 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)

Abstract

(57)【要約】 (修正有) 【課題】動作記述から、外部回路とデータ転送を行うた
め、プロトコルが決められたバスに接続するバスインタ
ーフェース回路を自動生成する。 【解決手段】バス接続リソースデータベース読み込み部
121は、リソースの識別子、バスの種類、ビット幅、
アドレスを取得し、バスプロトコルライブラリ読み込み
部122は、バスで使用される信号種類、入出力方向、
ビット幅、タイミングを取得する。バス側接続回路生成
部123は、バスとインターフェース回路間の信号の入
出力回路を生成し、ユーザ回路側接続回路生成部124
は高位合成で自動生成されるユーザ側回路とインターフ
ェースを入出力する回路を生成する。アドレスデコーダ
生成部125は、バス側から入力されるアドレスと、読
み出し・書き込み時の制御信号を解釈し、アドレス対応
のリソースに読み出し又は書き込みのイネーブル信号を
出力する回路を生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、処理の動作のみを
記述した動作記述によって表現された半導体集積回路
(LSI)の論理回路を自動生成する高位合成方法およ
び、それに用いる高位合成装置に関し、特に、後述する
C言語のような抽象度の高い言語で記述された動作記述
から、ハードワイヤ−ド回路を合成する技術において、
汎用CPUなどの外部回路とデータ転送するために、プ
ロトコルが決められたバスに接続するためのインターフ
ェイス回路を自動生成する高位合成方法および、それに
用いる高位合成装置に関する。
【0002】
【従来の技術】近年の半導体集積回路(LSI)の微細
化により大規模なシステムLSIが実現可能になってお
り、このようなシステムLSIを効率的に設計およびそ
の検証を行うことができる環境が求められている。
【0003】そこで、1990年代に入って実用化され
始めた論理合成ツールに続き、ハードウエアの構造に関
する情報は含まず、動作のみを記述した動作記述から、
レジスタトランスファレベル(以下、RTレベルとい
う)の記述を合成する動作合成ツールが実用段階に入
り、人手設計に比べて遜色のないLSIの設計が短期間
で行なわれることが可能になってきている。
【0004】このような動作合成ツールを使用する場合
には、LSIの本質的な動作を決定するアルゴリズム設
計が人手設計の大部分を占めるため、設計者はアルゴリ
ズム設計に集中することができ、回路の品質も向上させ
ることができる。
【0005】システムLSIのような大規模なデジタル
LSIの上流設計においては、まず、システム全体のア
ルゴリズムを検討し、それの検証を行う「アルゴリズム
設計」が行われる。ここでは、プログラミング言語であ
る「C言語」などのソフトウエア記述用言語を用い、ワ
ークステーションやパーソナルコンピュータ上で設計・
検証を行い、アルゴリズムの検討が行われる。その後、
システムで必要な個々の処理内容について、ハードウエ
ア記述用言語で動作記述を行い、検証を行うことにな
る。このため、始めにソフトウエア記述用言語を用いて
記述したアルゴリズムを、再度、ハードウエア記述用言
語で動作記述を用いて書き直す必要がある。そこで、従
来から、「C言語」をベースにしたシステム全体のアル
ゴリズム、または動作記述から回路を合成する手法(高
位合成)が提案されている。このような従来技術とし
て、例えば特開平10−116302号公報「集積回路
の設計方法及びそれによって設計された集積回路」が挙
げられる。
【0006】このように、現在、「C言語」のような抽
象度の高い言語を用いて、音声処理や画像処理などのア
プリケーションを実現するハードウエアの動作を記述
し、回路を合成してハードウエア化する高位合成が行な
われている。
【0007】また、大規模なシステムを開発する場合に
は、処理の一部をプロセッサ上で実行するソフトウエア
として実装し、仕様変更や機能拡張を行い安くすること
がある。この場合、ASIC(Application Specific I
ntegrated Circuit;特定用途向けIC)や、ソフトウ
エアを実行するCPU(中央演算処理装置)、メモリな
どの複数の機能ブロックを接続してシステムを構築する
ことになる。このようなシステムでは、各機能ブロック
間のデータ転送は、予め転送プロコトルが、決められた
バスを介して行なわれる。したがって、各機能ブロック
には、バスに接続するためのバスインターフェイス回路
を付加する必要がある。
【0008】バスインターフェイス回路の動作は、プロ
トコルに従って、制御信号やアドレスを解釈してバス上
のデータを各機能ブロック内のリソース(記憶素子)に
読み込んだり、バスに対して各機能ブロック内の所望の
データを出力する。これらの動作は、各機能ブロックで
実現するアプリケーションに比較すると原始的であり、
動作記述で表現して合成しても効率が悪い。また、タイ
ミングが決まっているインターフェイス回路は、動作合
成に向かなかった。これは、回路構造に関する情報を持
たない動作記述から論理回路を得る動作合成では、スケ
ジューリングによってデータ転送のタイミングが決まっ
ているからである。
【0009】さらに、データ転送のタイミングに関する
制約を追加すれば、インターフェイス回路のタイミング
仕様に合った回路を合成することも可能であるが、動作
記述が複雑になったり、動作合成される他の回路部分の
性能が悪くなったり、回路をLSI化したときにこの回
路部分の面積が大きくなったりしてしまうなどの悪影響
が生じることがあった。
【0010】そこで、従来、インターフェイス回路は、
主に、人手設計により別設計され、アプリケーション部
に付加されてきた。この従来技術の設計フローチャート
を図24に示している。図24に示すように、従来技術
の設計では、インターフェイス回路以外の回路部分につ
いては、「動作記述」から、所定の各種処理を経て、
「RTレベル回路記述」が生成されるが、インターフェ
イス回路のみ、「人手設計」により別設計され、「RT
レベル回路記述」とインターフェイス回路の設計とが
「全体回路記述」として合成されてきた。
【0011】なお、上記所定の各種処理としては、詳細
には後述するが、図24に示すように、処理の動作のみ
を記述した動作記述を構文解析する「動作記述解析部」
と、この動作記述における演算間の実行順序の依存関係
を表現する「コントロールデータフローグラフ(以下、
CDFGという)生成部」と、CDFGの各演算および
入出力を、各ステップに対応した時間に順次割り当てる
「スケジューリング部」と、スケジューリングされたC
DFGの実行に必要な演算器、レジスタおよび入出力ピ
ンをそれぞれ、各部に割り当てる「アロケーション部」
と、CDFGのデータ依存枝に対応した回路パス(マル
チプレクサなど)を生成する「データパス生成部」と、
アロケーション処理およびデータパス生成処理により生
成された演算器、レジスタおよびマルチプレクサを制御
するコントローラを生成する「コントローラ生成部」と
を有している。
【0012】
【発明が解決しようとする課題】上述した従来技術で
は、インターフェイス回路を人手設計する必要がある
が、アプリケーションが複雑になり、多くの通信路、メ
モリ、レジスタなどのリソース(記憶素子)に対してバ
スを介したデータ転送が必要になると、人手設計では管
理が大変になり、誤りが発生し易くなる。
【0013】また、アプリケーションとは別に設計され
るため、アプリケーションが変更され、リソース数やデ
ータタイプが変わる度にインターフェイス回路を人手に
て修正する必要が生じる。
【0014】さらに、多くの回路の設計開発では、仕様
が変更されることが多く、回路の入出力が変更される
と、それに合わせてインターフェイス回路も修正しなけ
ればならず、これらの変更は時間のかかる作業となり、
設計期間が延びる原因になっていた。
【0015】また、人手設計では、誤りが生じる可能性
もあった。また、バスを介して、メモリのデータ転送を
行うケースも多く、このようなケースにおいても、従来
技術の人手設計では、データ転送を行うメモリアドレス
を管理しておく必要があり、人手設計では管理が大変に
なり、誤りが発生しやすい。
【0016】さらに、前述したように、システムが大規
模化すると、処理の一部をCPU上のソフトウエアとし
て実装される場合があり、この場合、大規模なシステム
には、ソフトウエアを実行するCPUが必要となり、ハ
ードウエアとソフトウエアで構成されるシステムとな
る。そこでは、ハードウエアの開発も別途行う必要があ
る。ハードウエアとソフトウエア間でデータ転送を行う
には、CPU内のリソースのアドレスなどを指定する必
要があり、ここでも、アドレスなどの情報管理が必要と
なって、人手管理では誤りが発生しやすい。
【0017】本発明、上記事情に鑑みて為されたもの
で、動作記述から、外部回路とデータ転送を行うため
に、プロトコルが決められたバスに接続するためのバス
インターフェイス回路を自動生成することができる高位
合成方法および、それに用いる高位合成装置を提供する
ことを目的とする。
【0018】
【課題を解決するための手段】本発明の高位合成方法
は、処理の動作のみを記述した動作記述から、レジスタ
トランスファレベルの論理回路を合成する高位合成方法
において、動作記述からバス接続リソースの情報を抽出
して、バス接続させる通信路およびメモリ、レジスタに
関する情報が格納されるバス接続リソースデータベース
および、事前にバスプロトコルが格納されたバスプロト
コルライブラリを参照して、対象とするインターフェイ
ス回路を自動生成するものであり、そのことにより上記
目的が達成される。また、これに用いる本発明の高位合
成装置は、処理の動作のみを記述した動作記述から、レ
ジスタトランスファレベルの論理回路を合成する高位合
成装置において、動作記述からバス接続リソースの情報
を抽出するバス接続リソース抽出手段と、バス接続させ
る通信路およびメモリ、レジスタに関するバス接続リソ
ースの情報を格納するバス接続リソースデータベース
と、事前にバスプロトコルが格納されたバスプロトコル
ライブラリと、バス接続リソースデータベースおよひバ
スプロトコルライブラリを参照して、対象とするバスイ
ンターフェイス回路を自動生成するバスインターフェイ
ス生成手段とを有したものであり、そのことにより上記
目的が達成される。
【0019】この構成により、バス接続リソースデータ
ベースおよびバスプロトコルライブラリを参照すること
で、従来は人手設計に頼らざるを得なかったバスインタ
ーフェイス回路を自動生成して、動作記述から、このバ
スインターフェイス回路を含む全体回路のRTレベル回
路に合成することが可能となる。よって、回路内のリソ
ースの管理が簡単なものになると共に、人手設計では避
けられない誤りを防止することが可能となって、設計品
質の向上、設計期間の短縮を図ることが可能になる。
【0020】また、好ましくは、本発明の高位合成方法
において、バス接続リソースデータベースを参照し、対
象とするバスに関する組み込みソフト用ヘッダファイル
を自動生成する。また、好ましくは、本発明の高位合成
装置は、抽出したバス接続リソースの情報およびバス接
続リソースデータベースを参照し、対象とするバスに関
する組み込みソフト用ヘッダファイルを自動生成する組
み込みソフト用ヘッダファイル生成手段を有する。
【0021】この構成により、システム内にCPUが存
在した場合には、リソース情報を参照することで、ヘッ
ダファイルを自動的に生成するので、従来、人手で管理
していたリソースの情報管理から、人手を排除できて、
設計品質の向上、設計期間の短縮を図ることが可能にな
る。
【0022】さらに、好ましくは、本発明の高位合成方
法において、バス接続リソースデータベースを参照し、
対象とするバスに関する組み込みソフト用ライブラリ関
数を自動生成する。また、好ましくは、本発明の高位合
成装置において、抽出したバス接続リソースの情報およ
びバス接続リソースデータベースを参照し、対象とする
バスに関する組み込みソフト用ライブラリ関数を自動生
成する組み込みソフト用ライブラリ関数生成手段を有す
る。
【0023】この構成により、システム内にCPUが存
在した場合には、リソース情報を参照することで、ライ
ブラリ関数を自動的に生成するので、従来、人手で管理
していたリソースの情報管理から、人手を排除できて、
設計品質の向上、設計期間の短縮を図ることが可能にな
る。
【0024】
【発明の実施の形態】以下、本発明の実施形態の高位合
成装置および、それを用いた高位合成方法について図面
を参照しながら説明する。
【0025】図1は、本発明の一実施形態における高位
合成装置の構成を示すブロック図である。図1におい
て、高位合成装置1は、動作記述格納手段2と、動作記
述解析手段3と、バス接続リソース抽出手段4と、バス
接続リソースデータベース5と、CDFG生成手段6
と、スケジューリング手段7と、アロケーション手段8
と、データパス生成手段9と、コントローラ生成手段1
0と、バスプロトコルライブラリ11と、バスインター
フェイス生成手段12と、RTレベル回路記述生成手段
13と、RTレベル回路記述格納手段14とを有し、動
作記述から生成される演算器、レジスタ、データパスお
よびコントローラ回路などに、バスインターフェイス生
成手段12により自動生成されたバスインターフェイス
回路を付加して、全体のRTレベル回路を合成するもの
である。
【0026】動作記述格納手段2は、処理の動作のみを
記述した動作記述を格納するものであり、以下の説明
で、動作記述は、「Bach−C」による記述を用い
る。「Bach−C」とは、C言語を基に、データのビ
ット幅の指定、明示的な並列実行記述のための構文、並
列実行記述間のデータ通信命令を追加した、システムの
アルゴリズム記述からのLSI設計を支援する言語系で
あり、その更なる詳細内容については、文献「Bac
h;C言語を用いたLSI設計環境」第11回 回路と
システム(軽井沢)ワークショップ、および、文献「ハ
ードウエアコンパイラBach」信学技報Technical Re
port of IEICE CRSY97−87(1997−10)に述べられてい
る。
【0027】その動作記述の一例を図2に示している。
【0028】図2は、図1の動作記述格納手段に格納さ
れる動作記述の一例を示す図であり、この動作記述は、
前述した「Bach−C」による記述を用いている。図
2において、動作記述はバスへのデータ転送を含み、そ
の第1行目でリソースxをバスstdbusに接続することを
宣言し、その第2行目で、そのアドレスが0x4000である
ことを定義している。また、第3行目〜第6行目までに
記述されているcircuit()関数は、動作合成の対象とな
る回路の動作を示し、同期通信路inからデータを受け取
り、非同期通信路xが示す値との積を演算し、その演算
結果を同期通信路outに出力する回路動作を表してい
る。さらに、第8行目〜第13行目までに記述されてい
るtbench()関数は、回路の外部環境の動作を示し、非同
期通信路xに値「2」、同期通信路inに値「1」を設定
し、同期通信路outから、回路での演算結果を受信する
動作を表している。さらに、第15行目〜第24行目ま
でに記述されているmain()関数は、回路と外部環境の全
体の動作を表している。
【0029】ここで、バスに接続するリソースは上記動
作記述上で以下のように記述する。
【0030】 ♯Pragma stdbus res name ♯Pragma busaddr res name addr res nameは、リソースの識別子を表し、stdbusは、バス
の種類(プロトコルの種類)の情報を含む。また、busa
ddrは、リソースの識別子res nameと、バスのアドレス
空間でのアドレスaddrを指定することを意味する。
【0031】以上のバスに関するリソースの情報を追加
した動作記述を、後述するバス接続リソース抽出手段4
で抽出することにより、バスに接続されるリソースの情
報が得られる。
【0032】ユーザがリソースを指定する手段として
は、上述したように、動作記述中で、バスに接続するリ
ソースを記述する方法以外に、コマンド発行時にオプシ
ョンとして指定する方法もあるが、上記のように、バス
に接続されるリソースの識別子、リソースを接続するバ
スプロトコルの種類、リソースに割り当てるアドレスが
指定できれば、他の方法でも構わない。リソースの識別
子が分かれば、動作記述を解析し、そのリソースに対し
て宣言されているデータのビット幅を取得することがで
きる。
【0033】動作記述解析手段3は、処理の動作のみを
記述した上記動作記述の構文を解析するものである。
【0034】バス接続リソース抽出手段4は、処理の動
作のみを記述した動作記述から、動作記述で指定された
外部とのデータ通信用の通信路・メモリを抽出する。具
体的には、図2に示す動作記述に対して、バスの種類が
stdbusで、そのバスに接続されるリソースとして非同期
通信路xを使用、そのアドレスが0x4000であることなど
が抽出される。
【0035】バス接続リソースデータベース5は、バス
接続リソース抽出手段4で抽出した通信路・メモリ、そ
の通信路・メモリを特定するアドレスおよびデータ幅な
どのリソースの情報を保存するものである。このリソー
スの情報は、更に説明すると、バスに接続されるリソー
ス(通信路・メモリ)の識別子、リソースを接続するバ
スプロトコルの種類、リソースに割り当てるアドレス、
リソースのデータ幅である。
【0036】CDFG生成手段6は、演算の実行順序の
依存関係を表現するCDFGを生成するものである。こ
のCDFGとは、入出力、演算、定数、通信(送信およ
び受信)、分岐、ループを節点とし、データの依存関係
を有向枝(データの依存枝)とするグラフであり、CD
FGは、例えば図2に示す動作記述から、図3に示すよ
うに、同期通信路inからのデータ入力rcv(in)60、非
同期通信路xのデータ入力61、演算器62、同期通信
路outへの演算結果の出力send(out)63が節点となり、
これらの間をデータ依存枝64〜66のそれぞれが接続
されて構成される。
【0037】スケジューリング手段7は、CDFGの各
演算および入出力を、ステップと呼ばれるクロックに対
応した時間に順次割り当てるものである。例えば図4
に、図3のCDFGを3つのステップにスケジューリン
グした処理結果を示している。
【0038】アロケーション手段8は、スケジューリン
グされたCDFGの実行に必要な演算器、レジスタおよ
び入出力ピンをそれぞれ生成し、CDFG中の演算を演
算器に、クロック境界を横切るデータ依存枝をレジスタ
に、入出力を入出力ピンにそれぞれ割り当てるものであ
る。例えば図5に示すように演算62がその演算内容に
より乗算器80に割り当てられ、また、例えば図6に示
すようにクロック境界を横切るデータ依存枝64〜66
がレジスタ81,82に割り当てられる。この場合、デ
ータ依存枝64,66は、異なるクロック境界を横切っ
ているために、動作する時間が異なることから、同一の
レジスタ81に割り当てられている。また、例えば図7
に示すように入出力60,61,53は、入力ピン8
3,84および出力ピン85に割り当てられる他、それ
らのデータピン以外に、制御信号入力ピン86,87お
よび制御信号出力ピン88,89に割り当てられる。
【0039】データパス生成手段9は、CDFGのデー
タ依存枝64〜66に対応したデータパス(マルチプレ
クサ)を生成するものである。例えば図8にデータパス
生成結果の一例を示している。図8では、データ依存枝
64に対応するデータパス90〜92が生成され、デー
タ依存枝65に対応するデータパス93,94が生成さ
れ、データ依存枝66に対応するデータパス95,9
1,92,96が生成される。この場合、アロケーショ
ン処理の図6でレジスタ81を共用としたため、図8で
はマルチプレクサ97をデータパス90,91間に追加
している。
【0040】コントローラ生成手段10は、上記アロケ
ーション処理およびデータパス生成処理により生成され
た演算器80、レジスタ81,82、マルチプレクサ9
7を制御するコントローラを生成するものである。例え
ば図9にコントローラ生成の結果を示している。図9で
は、コントローラ100からのレジスタ81,82への
制御信号線101,102、マルチプレクサ97への制
御信号線103、入力ピン86,87への制御信号線1
04,105、出力ピン89,88への制御信号線10
6,107が生成される。
【0041】バスプロトコルライブラリ11は、バスの
タイミング、制御用の信号線の種類がライブラリとして
記録されている。
【0042】バスインターフェイス生成手段12は、こ
れらバス接続リソースデータベース5およびバスプロト
コルライブラリ11を参照してバスインターフェイス回
路を生成するものであり、その詳細な説明を図10に示
している。
【0043】図10は、図1のバスインターフェイス生
成手段の詳細な構成を示すブロック図である。図10に
おいて、バスインターフェイス生成手段12は、バス接
続リソースデータベース読み込み部121と、バスプロ
トコルライブラリ読み込み部122と、バス側接続回路
生成部123と、ユーザ回路側接続回路生成部124
と、アドレスデコーダ生成部125とを有している。
【0044】バス接続リソースデータベース読み込み部
121は、バス接続リソースデータベース5を読み込
み、バスに接続するリソースの識別子、接続するバスの
種類、データのビット幅、アドレスを取得するようにな
っている。
【0045】バスプロトコルライブラリ読み込み部12
2は、バスプロトコルライブラリ11を読み込み、各バ
スプロトコルの種類について、バスで使用される信号の
種類、各信号の入出力の方向、各信号のビット幅、各信
号の入出力のタイミングを取得するようになっている。
【0046】バス側接続回路生成部123は、バスで使
用される信号の種類を参照し、バスとインターフェイス
回路間の信号の入出力のための回路を生成するものであ
る。
【0047】ユーザ回路側接続回路生成部124は、高
位合成で自動生成されるユーザ側回路とインターフェイ
ス回路を入出力するための回路を生成するものである。
ここでは、バスに接続される全てのリソースについて、
バスからリソースへの書き込み時にバスのデータをリソ
ースに伝播するための回路を生成し、リソースからバス
への読み出し時にリソースのデータをバスへ出力するた
めの回路を生成する。
【0048】アドレスデコーダ生成部125は、バス側
から入力されるアドレスと、読み出し・書き込み時の制
御信号を解釈し、アドレスに対応するリソースに読み出
しイネーブル信号、または、書き込みイネーブル信号を
出力する回路を生成するものである。この結果、生成さ
れるインターフェイス回路は、以下に示す回路構成がR
Tレベルで合成される。
【0049】非同期通信路を用いたデータ転送では、送
信側と受信側は任意のタイミングでデータの読み書きを
行う。この場合、回路構成は図11のように合成され
る。送信側回路は、送信を行うステップでデータをwdat
aに出力し、書き込みイネーブル信号をwenに出力する。
受信側回路は、受信を行うステップでrdataからデータ
を読み込む。
【0050】また、メモリを用いたデータ転送では、送
信側回路と受信側回路は任意のタイミングでデータの読
み書きを行う。この場合、回路構成は、図12のように
合成される。送信側回路は、送信を行うステップでデー
タをwdataに出力し、アドレスをwaddrに出力し、書き込
みイネーブル信号をwenに出力する。受信側回路は、受
信を行うステップで読み出すメモリアドレスをraddrに
出力し、読み出しイネーブル信号をrenに出力し、rdata
からデータを読み込む。
【0051】さらに、同期型通信路を用いたデータ転送
では、送信側回路と受信側回路はハンドシェークを確立
してデータ転送を行う。この場合、回路構成は図13の
ように合成される。送信側回路は、wtx(初期状態はロ
ウレベル)をハイレベルにし、データをwdataに出力
し、wrxがハイレベルになるまで待つ。wrxがハイレベル
になると、次のステップでwtxをロウレベルにする。ま
た、受信側回路は、受信するステップでrtx(初期状態
はロウレベル)をハイレベルにし、rtxがハイレベルに
なるまで待つ。rtxがハイレベルになると、rdataからデ
ータを読み出し、次のステップでrtxをロウレベルにす
る。また、双方向のデータ転送がある場合には、送信側
回路と受信側回路の両方の信号をそれぞれの回路が持
つ。
【0052】以上により、図1のバスインターフェイス
生成手段12は、バス接続リソースデータベース5に保
存された通信路、メモリを参照し、また、バスプロトコ
ルライブラリ11を参照し、また、バスで使われる送信
プロトコルに従い、送信モードを示す制御信号、転送を
行うレジスタやメモリの指定を行うアドレス、転送する
データ、転送終了を示すレスポンスをバスプロトコルラ
イブラリ11を参照することにより、予め決められたタ
イミングで信号を入出力する回路を生成する。
【0053】なお、図1のバスインターフェイス生成手
段12で生成されるインターフェイス回路は、色々な回
路が考えられる。例えば図12のようなメモリ回路とし
て、具体的には、通常のメモリ以外にも、FIFOを使
った回路や、スタックを使った回路などが考えられる。
したがって、図1のバスインターフェイス生成手段12
は、通信路の送信部、受信部の入出力動作仕様が分かれ
ば、その仕様に合わせて、上記各部121〜125によ
り為される各処理に従い、インターフェイス回路の生成
を行う。したがって、図1のバスインターフェイス生成
手段12は、図11〜図13に示す、インターフェイス
回路以外の回路実装方法についても対応することができ
る。
【0054】図1のRTレベル回路記述生成手段13
は、生成されたバスインターフェイス回路を含む全体回
路のRTレベルの回路を合成し、RTレベル回路記述を
出力するものである。
【0055】RTレベル回路記述格納手段14は、RT
レベル回路記述生成手段13からのRTレベル回路記述
を格納するものである。
【0056】次に、高位合成装置1は、組み込みソフト
用ヘッダファイル生成手段15と、組み込みソフト用ヘ
ッダファイル16と、組み込みソフト用ライブラリ関数
生成手段17と、組み込みソフト用ライブラリ関数ファ
イル18とを有し、システム内に汎用CPUが必要であ
る場合に、組み込みソフト用ヘッダファイル生成手段1
5により組み込みソフト用ヘッダファイルを自動生成
し、また、組み込みソフト用ライブラリ関数生成手段1
7により組み込みソフト用ライブラリ関数を自動生成す
るものである。
【0057】組み込みソフト用ヘッダファイル生成手段
15は、バス接続リソースデータベース5を参照し、汎
用CPUのプログラム用に組み込みソフト用ヘッダファ
イルを自動生成するものである。なお、汎用CPUで動
作するプログラムでは、汎用CPUのメモリ空間での、
バスに接続する各通信路のアドレスをユーザが指定する
ことにより、リソースの情報が、前述したように、バス
接続リソース抽出手段4によって抽出された後、バス接
続リソースデータベース5に保存されている。この組み
込みソフト用ヘッダファイル生成手段15の詳細な構成
を図14に示している。
【0058】図14は、図1の組み込みソフト用ヘッダ
ファイル生成手段の詳細な構成を示すブロック図であ
る。図14において、組み込みソフト用ヘッダファイル
生成手段15は、バス接続リソースデータベース読み込
み部151と、組み込みソフト用ヘッダファイル出力部
152とを有している。
【0059】バス接続リソースデータベース読み込み部
151は、図1のバス接続リソースデータベース5を読
み込み、組み込みソフト用ヘッダファイル出力部152
で、全てのリソースに対して割り当てられたアドレス
を、図1の組み込みソフト用ヘッダファイル16に出力
する。その出力フォーマットは、以下のようになる。
【0060】♯define ADDR indentifier address ここで、indentifierは、リソースの名前、addressはア
ドレスを示す数値である。
【0061】組み込みソフト用ヘッダファイル16は、
組み込みソフト用ヘッダファイル生成手段15からのヘ
ッダファイル出力をファイリングするものである。
【0062】組み込みソフト用ライブラリ関数生成手段
17は、バス接続リソースデータベース5を参照し、汎
用CPUのプログラム用に組み込みソフト用ライブラリ
関数を生成するものである。なお、前述したように、バ
ス用リソース抽出手段4において、バスに接続されるリ
ソースの名前、リソースの種類が抽出された後、これら
は、バス通信路データベースであるバス接続リソースデ
ータベース5にて保存されている。
【0063】この組み込みソフト用ライブラリ関数とし
ては、バスを介しての通信に必要な以下の関数である。
【0064】Send()関数;CPUから、バスを介してデ
ータを送信(書き込み)するための関数である。
【0065】Receive() 関数;CPUから、バスを介し
てデータを受信(読み出し)するための関数である。
【0066】Sync send() 関数;通信相手に送信可能状
態であることを知らせる、ハンドシェーク信号を送信す
るための関数である。
【0067】Sync Receive()関数;通信相手に受信可能
状態であることを知らせる、ハンドシェーク信号を受信
するための関数である。
【0068】組み込みソフト用ライブラリ関数ファイル
18は、組み込みソフト用ライブラリ関数生成手段17
からのライブラリ関数出力をファイリングするものであ
る。
【0069】現在、LSIの設計は、パーソナルコンピ
ュータやワークステーション上で各種設計・検証用ソフ
トウエアを駆使して行なわれており、本発明の高位合成
方法も、これらハードウエア内にインストールされ、ま
たは、ネットワーク環境の下、設計環境の一部分として
使用される。そこで、本発明の高位合成方法が、このよ
な環境の下で使用できるようにされた設計装置が、本発
明の高位合成装置である。
【0070】上記構成により、その動作を説明する。
【0071】図15は、図1の高位合成装置の動作を示
す処理フローチャートである。なお、図15では、図2
に示す動作記述格納処理からRTレベルの回路記述を合
成する処理までの各処理フロー中で、本発明の特徴部分
であるバス接続リソース抽出・格納処理、組み込みソフ
ト用ヘッダファイル生成・ファイリング処理、組み込み
ソフト用ライブラリ関数生成・ファイリング処理を除く
高位合成の処理フローは、図24と略同様であるが、こ
こでは、図2に示す動作記述に基づいて説明することに
し、その更なる詳細な説明については、特願平12−0
20973号「高位合成方法並びに高位合成方法の実施
に使用される記憶媒体」に記載されている。
【0072】図15に示すように、まず、ステップS1
で、図2に示す動作記述が動作記述格納手段2に与えら
れると、ステップS2で、動作記述解析手段3が、この
動作記述の構文解析を行う。
【0073】次に、ステップS3でバス接続リソース抽
出・格納処理を行う。即ち、図2に示す動作記述で指定
された外部とのデータ通信用の通信路・メモリ、例え
ば、バスの種類stdbus、バスに接続されるリソースとし
て使用する非同期通信路x、そのアドレスが0x4000など
が抽出される。その通信路、アドレスおよびデータ幅な
どのリソース情報を、バス接続リソースデータベース5
に保存する。次のステップS4からは、図2に示す動作
記述において、circuit()関数で記述された回路の合成
に入る。
【0074】ステップS4において、CDFG生成処理
を行う。例えば図2に示す動作記述から、図3に示すよ
うに、同期通信路inからのデータ入力rcv(in)60、非
同期通信路xのデータ入力61、演算62、同期通信路
outへの演算結果の出力send(out)63が節点となるCD
FGが生成される。
【0075】さらに、ステップS5で、スケジューリン
グ処理を行う。例えば図4に示すように、図3のCDF
Gの各演算および入出力が3つのステップにスケジュー
リングされる。
【0076】さらに、ステップS6でアロケーション処
理を行う。このアロケーション処理として、例えば、図
5のように演算62が乗算器80に、図6のようにデー
タ依存枝64〜66がレジスタ81,82に、図7のよ
うに入出力60,61,63が、入力ピン83,84お
よび出力ピン85に、これ以外の入力および出力に、制
御信号入力ピン86,87および制御信号出力ピン8
8,89が割り当てられる。
【0077】さらに、ステップS7でデータパス生成処
理を行う。例えば図8に示すように、データ依存枝64
に対応するデータパス90〜92が生成され、データ依
存枝65に対応するデータパス93,94が生成され、
データ依存枝66に対応するデータパス95,91,9
2,96が生成される。さらに、レジスタ81を共用と
したため、マルチプレクサ97が追加されている。
【0078】さらに、ステップS8でコントローラ生成
処理を行う。例えば図9に示すように、コントローラ1
00が生成され、このコントローラ100のレジスタ8
1,82への制御信号線101,102、マルチプレク
サ97への制御信号線103、入力ピン86,87への
制御信号線104,105、出力ピン89,88への制
御信号線106,107が生成される。
【0079】以上によって、本発明の特徴部分であるイ
ンターフェイス回路部分を除く、処理に必要なデータバ
スやコントローラ100を持つRTレベルの回路モデル
が出来上がる。
【0080】次に、ステップS9で本発明の特徴部分で
あるバスインターフェイス生成処理を行う。バスインタ
ーフェイス生成処理とは、バスを介した外部とのデータ
転送を行うためのインターフェイス回路を生成する処理
である。このバスインターフェイス生成処理について、
以下に詳細に説明する。
【0081】まず、図2で非同期通信路xの使用が宣言
されており、非同期通信路xの実装としては、図16に
示すようにレジスタregX160を用いて実装する。
【0082】ここで、使用するバスstdbusは、バス接続
を要求するマスタとスレーブから構成されるマスタ・ス
レーブ型のバスとし、合成する回路をスレーブとするイ
ンターフェイス回路の生成を行い、スレーブから見たと
きの信号変化のタイミングは、図17に示すように予め
決まっているものとする。また、使用するバスstdbusの
仕様は以下の仕様(1)〜(6)とする。
【0083】(1)入力信号SEL,RW,ADDR,WDATA,RD
ATAは、全てクロック信号CLKの立ち上がり時の値が参照
される。
【0084】(2)スレーブ回路は、スレーブ選択信号
SELがハイレベルならばそれ自体が選択され、読み書き
を行う。
【0085】(3)入力信号RWは、ハイレベルならばス
レーブ回路への書き込みを表し、ローレベルならばスレ
ーブ回路からの読み出しを表すものとする。
【0086】(4)アドレス信号ADDRは、書き込み時ま
たは読み出し時のアドレスとする。
【0087】(5)書き込みデータ信号WDATAは、スレ
ーブ回路への書き込みデータとする。
【0088】(6)読み出しデータ信号RDATAは、スレ
ーブ回路から読み出されたデータとする。
【0089】このように、このバスstdbusの書き込みま
たは読み出しのタイミングは、それ自体が選択された次
のクロックで行なわれる仕様であり、このようにタイミ
ングが事前に規定されている回路は、前述したように、
従来技術の動作合成では、記述が困難であった。
【0090】バスstdbusに関する図17のタイミング、
および上記仕様(1)〜(6)が、事前に図1のバスプ
ロトコルライブラリ11に登録されている。すると、バ
ス接続リソース抽出手段4による抽出内容で使用を宣言
された結果、バスの種類やバスに接続されるリソースの
情報が、バス接続リソースデータベース5に保存され、
バスプロトコルライブラリ11から、このバスstdbusが
選ばれ、バスインターフェイス生成手段12でバスイン
ターフェイス回路が生成される。
【0091】次に、ステップS10でRTレベル回路記
述生成・格納処理を行う。RTレベル回路記述生成手段
13は、生成されたバスインターフェイス回路を含む全
体回路のRTレベルの回路を生成し、RTレベル回路記
述が出力する。RTレベル回路記述格納手段14は、こ
のRTレベル回路記述を格納する。
【0092】このバスインターフェイス回路を含む全体
の回路記述が生成された結果を、図18に示している。
図18において、バスインターフェイス回路180は、
太い点線で囲った回路部分であり、バスインターフェイ
ス回路180を除く回路部分186とバスstdbus185
とを接続している。また、アドレスデコーダ181は、
スレーブ選択信号SEL、入力信号RW、アドレス信号ADDR
から、レジスタregX160への書き込みイネーブル信号
XWE182を生成すると共に出力イネーブル信号183
を生成する。また、読み出しデータ信号RDATAを出力す
るために、レジスタregXからの読み出しパス184が追
加されている。
【0093】この結果、生成されたバスインターフェイ
ス回路180の動作としては、クロックCLKの立ち上が
りエッジで、スレーブ選択信号SELと入力信号RWがハイ
レベルで、かつ、アドレス信号ADDRがバスのアドレスを
示すとき、書き込みイネーブル信号XWE182をハイレ
ベルにし、それ以外のときは、書き込みイネーブル信号
XWE182をローレベルにする。一方、図2の第2行目
で、バスのアドレスを0x4000と宣言しており、図19の
タイミングチャートに示すように、サイクルcycle0の後
半から、アドレス信号ADDRがバスのアドレスを0x4000を
示し、これが、次のクロックCLKの立ち上がりエッジで
アドレスデコーダ181に取り込まれ、サイクルcycle1
で書き込みイネーブル信号XWE182がハイレベルにな
り、書き込みデータ信号WDATAの値0x0120がレジスタreg
X160に取り込まれている。また、サイクルcycle2の
後半から、アドレス信号ADDRがバスのアドレスを0x4000
を示し、これが、次のクロックCLKの立ち上がりエッジ
でアドレスデコーダ181に取り込まれ、入力信号RWが
ローレベルのため、レジスタregX160の値0x0120が、
読み出しデータ信号RDATAに出力される。
【0094】以上、説明したように本発明によって、バ
スの使用を含む動作記述からバスのインターフェイス回
路180を含むRTレベルの回路が合成される。そこ
で、この後、RTレベルの回路を市販の論理合成ツール
で回路合成を行うことにより、ハードウエア回路に変換
することができる。
【0095】次に、ステップS11において、システム
内に汎用CPUが存在するかどうかを判定し、システム
内に汎用CPUが存在しない場合は処理を終了し、ま
た、システム内に汎用CPUが存在する場合には、ハー
ドウエアの設計と並行して行なわれるソフトウエア開発
における組み込みソフト用のヘッダファイルの自動生成
およびライブラリ関数の自動生成を行う。以下に、ステ
ップS12の組み込みソフト用ヘッダファイル生成・格
納処理と、ステップS13の組み込みソフト用ライブラ
リ関数の自動生成・格納処理について、以下に、その一
例を説明する。
【0096】図20は、汎用CPUとして、ARMを用
いたときの回路の動作記述例を示す図であり、使用する
バスはAMBAバスとする。図20の動作記述の動作は、図
2で前述したように、3つの関数main()、circuit()、t
estbench()から構成されている。関数circuit()は、合
成対象の関数、関数testbench()は、テストベンチとす
る。関数main()では、汎用CPUとの通信に用いる2つ
の同期型通信路と、一つの非同期通信路の計3つの通信
路が、その第25行目および第25行目に宣言されてい
る。関数circuit()では、プラグマamba asbを用いて外
部とのデータ転送に用いる通信路・メモリを指定する。
同期型通信路は、circuit()回路と汎用CPUのハンド
シェークに、非同期型通信路やメモリはデータ転送に用
いるものとする。さらに、汎用CPUから通信路を特定
できるように、各通信路、メモリ、割り込み信号にアド
レスを割り当てる。アドレスを、例えば図21のように
割り当てると、図20の動作記述では第33行目〜第3
5行目のように指定することになる。
【0097】この動作記述において、合成対象となるci
rcuit()回路の動作は以下のようになる。
【0098】合成対象となるcircuit()回路は、まず、A
RM CPUから送信許可が出るまで待つ。これには、図
20の第9行目に示すようにreceive()関数を使う。ARM
CPUから送信許可が出れば、非同期通信路dataに対
してデータを書き込む。データの書き込みが終われば、
ARM CPUに送信完了を知らせるため、図20の第12
行目に示すようにsend(bach done,1)を実行する。ここ
で、send()は、ARM CPUが受信完了を持たない。ま
た、send()で送信する値は意味かなく、どんな数値であ
っても値「1」が送信されたものと見なす。
【0099】このように、各通信路、メモリにアドレス
が割り当てられた動作記述が、本発明の図1の動作記述
格納手段2に与えられると、前述したように、バスイン
ターフェイス回路を含むRTレベル回路記述がRTレベ
ル回路記述生成手段13により生成されると共に、バス
接続リソース抽出手段4で、各リソースの情報が抽出さ
れ、組み込みソフト用ヘッダファイル生成手段15で組
み込みソフト用ヘッダファイルが生成される。そこで、
図22に示すように、汎用CPUであるARM CPUを使
った組み込みソフト用ソフトウエアを作成すると、その
第1行目〜第3行目に示すように、ソフトウエアのプロ
グラム内では、各アドレスを定義するヘッダファイルが
自動的に付加される。図22に示す組み込みソフト用ソ
フトウエアの動作は以下のようになる。
【0100】circuit()回路からARM CPUへのデータ
転送では、ARM CPUが受信可能であることをcircui
t()回路に知らせるため、図22の第5行目に示すよう
に、sync send(ARM READY)を実行し、circuit()回路に
対して送信許可を出す。sync send()はライブラリ関数
で、指定されたアドレスのデータが「1」になるまで待
つ。circuit()回路側でデータの書き込みが終われば、
図22の第8行目に示すように、そのデータを読み出
す。データの読み出しが終われば、circuit()回路に対
して次のデータの送信を許可するため、図22の第10
行目に示すようにsync send(ARM READY)を実行する。通
常、ARM CPUのソフトウエアを実行するよりcircui
t()回路側の処理の方が早いため、ARM CPU側は、可
能な限り早い時期に送信を許可しておく。
【0101】ここで、図22の組み込みソフト用ソフト
ウエアでは、sync send()などのライブラリ関数が使わ
れている。そこで、ヘッダファイルと同様に、使用する
通信路が宣言された動作記述が、図1の動作記述格納手
段2に与えられると、前述したように、バスインターフ
ェイス回路180を含むRTレベル回路がRTレベル記
述生成手段13により生成されると共に、バス接続リソ
ース抽出手段4で、各通信路の情報が抽出され、バス接
続リソースデータベース5を参照し、組み込みソフト用
ライブラリ関数生成手段17で組み込みソフト用ライブ
ラリ関数ファイルが生成される。この生成された組み込
みソフト用ライブラリ関数を図23に示している。この
組み込みソフト用ライブラリ関数を組み込みソフト用ラ
イブラリ関数ファイル18にファイリングする。
【0102】以上により、本実施形態によれば、従来は
人手設計に頼らざるを得なかったバスインターフェイス
回路が、動作記述からRTレベル回路に合成することが
でき、回路内のリソースの管理が簡単になると共に、人
手設計では避けられない誤りがなくなり、設計品質の向
上、設計期間の短縮に多大な効果がある。
【0103】また、システム内にCPUが存在した場合
には、ハードウエア開発とソフトウエア開発とが並行し
て行なわれ、従来、人手で管理していたリソースの情報
管理が、ヘッダファイル、ライブラリ関数が自動的に生
成されることにより、人手を排除でき、上記と同様に、
設計品質の向上、設計期間の短縮に多大な効果がある。
【0104】
【発明の効果】以上のように、請求項1,4によれば、
バス接続リソースデータベースおよびバスプロトコルラ
イブラリを参照することで、従来は人手設計に頼らざる
を得なかったバスインターフェイス回路を自動生成でき
て、動作記述から、このバスインターフェイス回路を含
む全体回路のRTレベル回路に合成することができる。
よって、回路内のリソースの管理を簡単に行うことがで
きると共に、人手設計では避けられない誤りを防止する
ことができて、設計品質の向上、設計期間の短縮を図る
ことができる。
【0105】また、請求項2,5によれば、システム内
にCPUが存在した場合には、リソース情報を参照する
ことで、ヘッダファイルを自動的に生成するため、従
来、人手で管理していたリソースの情報管理から人手を
排除できて、設計品質の向上、設計期間の短縮を図るこ
とができる。
【0106】さらに、請求項3,6によれば、システム
内にCPUが存在した場合には、リソース情報を参照す
ることで、ライブラリ関数を自動的に生成するので、従
来、人手で管理していたリソースの情報管理から人手を
排除できて、設計品質の向上、設計期間の短縮を図るこ
とができる。
【図面の簡単な説明】
【図1】本発明の一実施形態における高位合成装置の構
成を示すブロック図である。
【図2】図1の動作記述格納手段に格納される動作記述
の一例を示す図である。
【図3】図1のCDFG生成手段で生成されたコントロ
ールデータフローグラフを示す図である。
【図4】図1のスケジューリング手段で処理されたスケ
ジューリング結果を示す図である。
【図5】図1のアロケーション手段で演算内容が乗算器
として割り当てられた結果を示す図である。
【図6】図1のアロケーション手段でデータ依存枝がレ
ジスタに割り当てられた結果を示す図である。
【図7】図1のアロケーション手段で入出力が各入出力
ピンに割り当てられた結果を示す図である。
【図8】図1のデータパス生成手段でデータ依存枝がデ
ータパスに割り当てられた結果を示す図である。
【図9】図1のコントローラ生成手段でコントロール回
路が生成されたRTレベル回路を示す回路図である。
【図10】図1のバスインターフェイス生成手段の詳細
な構成を示すブロック図である。
【図11】レジスタを用いた非同期通信路用インターフ
ェイス回路の回路図である。
【図12】メモリを用いたインターフェイス回路の回路
図である。
【図13】同期型通信路におけるインターフェイス回路
の回路図である。
【図14】図1の組み込みソフト用ヘッダファイル生成
手段の詳細な構成を示すブロック図である。
【図15】図1の高位合成装置の動作を示す処理フロー
チャートである。
【図16】図9の回路に対して非同期チャネルにレジス
タが追加されたRTレベル回路を示す回路図である。
【図17】バスstdbusのタイミング仕様を示す図であ
る。
【図18】図1のRTレベル回路記述生成手段による、
インターフェイス回路を含む全体のRTレベル回路記述
の生成結果を示す回路図である。
【図19】図18のバスstdbusへのデータ転送のタイミ
ングを示す図である。
【図20】汎用CPUとしてARMを用いた場合の回路動
作記述例を示す図である。
【図21】バス転送用通信路のアドレス対応関係を示す
図である。
【図22】汎用CPUとしてARMを用いた場合のプログ
ラミング例を示す図である。
【図23】バスAMBAを用いた場合のライブラリ関数を示
す図である。
【図24】従来の高位合成装置の動作を示す処理フロー
チャートである。
【符号の説明】
1 高位合成装置 2 動作記述格納手段 3 動作記述解析手段 4 バス接続リソース抽出手段 5 バス接続リソースデータベース 6 コントロールデータフローグラフ(CDFG)生
成手段 7 スケジューリング手段 8 アロケーション手段 9 データパス生成手段 10 コントローラ生成手段 11 バスプロトコルライブラリ 12 バスインターフェイス生成手段 121 バス接続リソースデータベース読み込み部 122 バスプロトコルライブラリ読み込み部 123 バス側接続回路生成部 124 ユーザ回路側接続回路生成部 125 アドレスデコーダ生成部 13 レジスタトランスファ(RT)レベル記述生成
手段 14 RTレベル記述格納手段 15 組み込みソフト用ヘッダファイル生成手段 151 バス接続リソースデータベース読み込み部 152 組み込みソフト用ヘッダファイル出力部 16 組み込みソフト用ヘッダファイル 17 組み込みソフト用ライブラリ関数生成手段 18 組み込みソフト用ライブラリ関数ファイル 180 バスインターフェイス回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 処理の動作のみを記述した動作記述か
    ら、レジスタトランスファレベルの論理回路を合成する
    高位合成方法において、 該動作記述からバス接続リソースの情報を抽出して、バ
    ス接続させる通信路およびメモリ、レジスタに関する情
    報が格納されるバス接続リソースデータベースおよび、
    事前にバスプロトコルが格納されたバスプロトコルライ
    ブラリを参照して、対象とするインターフェイス回路を
    自動生成する高位合成方法。
  2. 【請求項2】 前記バス接続リソースデータベースを参
    照し、対象とするバスに関する組み込みソフト用ヘッダ
    ファイルを自動生成する請求項1記載の高位合成方法。
  3. 【請求項3】 前記バス接続リソースデータベースを参
    照し、対象とするバスに関する組み込みソフト用ライブ
    ラリ関数を自動生成する請求項1または2記載の高位合
    成方法。
  4. 【請求項4】 処理の動作のみを記述した動作記述か
    ら、レジスタトランスファレベルの論理回路を合成する
    高位合成装置において、 該動作記述からバス接続リソースの情報を抽出するバス
    接続リソース抽出手段と、バス接続させる通信路および
    メモリ、レジスタに関する該バス接続リソースの情報を
    格納するバス接続リソースデータベースと、事前にバス
    プロトコルが格納されたバスプロトコルライブラリと、
    バス接続リソースデータベースおよひバスプロトコルラ
    イブラリを参照して、対象とするバスインターフェイス
    回路を自動生成するバスインターフェイス生成手段とを
    有した高位合成装置。
  5. 【請求項5】 抽出した前記バス接続リソースの情報お
    よびバス接続リソースデータベースを参照し、対象とす
    るバスに関する組み込みソフト用ヘッダファイルを自動
    生成する組み込みソフト用ヘッダファイル生成手段を有
    した請求項4記載の高位合成装置。
  6. 【請求項6】 抽出した前記バス接続リソースの情報お
    よびバス接続リソースデータベースを参照し、対象とす
    るバスに関する組み込みソフト用ライブラリ関数を自動
    生成する組み込みソフト用ライブラリ関数生成手段を有
    した請求項4または5記載の高位合成装置。
JP2000334017A 2000-10-31 2000-10-31 高位合成方法および高位合成装置 Expired - Fee Related JP3852741B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000334017A JP3852741B2 (ja) 2000-10-31 2000-10-31 高位合成方法および高位合成装置
EP01309068A EP1202194A3 (en) 2000-10-31 2001-10-25 High-level synthesis method, high-level synthesis apparatus, method for producing logic circuit using the high-level synthesis method for logic circuit design, and recording medium
US09/984,897 US6687894B2 (en) 2000-10-31 2001-10-31 High-level synthesis method, high-level synthesis apparatus, method for producing logic circuit using the high-level synthesis method for logic circuit design, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000334017A JP3852741B2 (ja) 2000-10-31 2000-10-31 高位合成方法および高位合成装置

Publications (2)

Publication Number Publication Date
JP2002140379A true JP2002140379A (ja) 2002-05-17
JP3852741B2 JP3852741B2 (ja) 2006-12-06

Family

ID=18810009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000334017A Expired - Fee Related JP3852741B2 (ja) 2000-10-31 2000-10-31 高位合成方法および高位合成装置

Country Status (3)

Country Link
US (1) US6687894B2 (ja)
EP (1) EP1202194A3 (ja)
JP (1) JP3852741B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140139A (ja) * 2008-12-10 2010-06-24 Ricoh Co Ltd 回路設計補助方法、プログラム、及び記録媒体
JP2015049560A (ja) * 2013-08-30 2015-03-16 株式会社日立情報通信エンジニアリング 高位合成で作成する新規設計データと既存設計データの接続方法
US9122831B2 (en) 2012-05-21 2015-09-01 Mitsubishi Electric Corporation LSI designing apparatus, LSI designing method, and program

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4082653B2 (ja) * 2001-11-15 2008-04-30 松下電器産業株式会社 高位合成方法および高位合成装置
JP3825328B2 (ja) * 2002-01-23 2006-09-27 Necエレクトロニクス株式会社 プロセッサ合成装置、システムlsi合成装置、プロセッサ合成方法、システムlsi合成方法、及び記録媒体
US6907584B1 (en) * 2003-03-14 2005-06-14 Xilinx, Inc. Method and apparatus for providing an interface to an electronic design of an integrated 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
US20060100973A1 (en) * 2004-10-21 2006-05-11 Microsoft Corporation Real-time localized resource extraction
US20060195732A1 (en) * 2005-02-11 2006-08-31 Joerg Deutschle Method and system for executing test cases for a device under verification
JP4891807B2 (ja) * 2007-02-28 2012-03-07 パナソニック株式会社 高位合成装置および高位合成方法
JP4945360B2 (ja) * 2007-07-27 2012-06-06 株式会社日立製作所 設計装置、設計方法及びプログラム
JP5229716B2 (ja) * 2007-11-27 2013-07-03 日本電気株式会社 動作合成システム、動作合成方法および動作合成用プログラム
JP2009294744A (ja) * 2008-06-03 2009-12-17 Nec Electronics Corp バスインターフェース設計装置、バスインターフェース設計方法、及びプログラム
US9075945B1 (en) 2014-06-27 2015-07-07 Google Inc. Method for implementing efficient entropy decoder by using high level synthesis
JP6761182B2 (ja) * 2017-03-14 2020-09-23 富士通株式会社 情報処理装置、情報処理方法及びプログラム
CN108009339A (zh) * 2017-11-28 2018-05-08 深圳市瑞尔时代科技有限公司 一种监控主机端口设计方法
US10579760B2 (en) * 2018-07-27 2020-03-03 Synopsys, Inc. Force/release support in emulation and formal verification

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598344A (en) * 1990-04-06 1997-01-28 Lsi Logic Corporation Method and system for creating, validating, and scaling structural description of electronic device
GB2317245A (en) * 1996-09-12 1998-03-18 Sharp Kk Re-timing compiler integrated circuit design
US6169968B1 (en) * 1997-07-09 2001-01-02 Matsushita Electric Industrial Co., Ltd. Apparatus and method for estimating performance integrated circuit
US6199031B1 (en) * 1998-08-31 2001-03-06 Vlsi Technology, Inc. HDL simulation interface for testing and verifying an ASIC model
HUP0301274A2 (en) * 1998-09-30 2003-08-28 Cadence Design Systems Block based design methodology
JP2001067384A (ja) * 1999-08-26 2001-03-16 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
US6460174B1 (en) * 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US7124376B2 (en) * 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140139A (ja) * 2008-12-10 2010-06-24 Ricoh Co Ltd 回路設計補助方法、プログラム、及び記録媒体
US9122831B2 (en) 2012-05-21 2015-09-01 Mitsubishi Electric Corporation LSI designing apparatus, LSI designing method, and program
JP2015049560A (ja) * 2013-08-30 2015-03-16 株式会社日立情報通信エンジニアリング 高位合成で作成する新規設計データと既存設計データの接続方法

Also Published As

Publication number Publication date
JP3852741B2 (ja) 2006-12-06
US6687894B2 (en) 2004-02-03
US20020053069A1 (en) 2002-05-02
EP1202194A3 (en) 2003-05-02
EP1202194A2 (en) 2002-05-02

Similar Documents

Publication Publication Date Title
JP3852741B2 (ja) 高位合成方法および高位合成装置
JP3835754B2 (ja) 集積回路の設計方法及びそれによって設計された集積回路
US7146300B2 (en) Method of co-simulating a digital circuit
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
CN112949233B (zh) Fpga芯片的自动化开发方法及装置、电子设备
JP3899104B2 (ja) システム開発方法及びデータ処理システム
KR20030066641A (ko) 효율적인 데이터 로딩 및 언로딩을 위하여 합성된 패킷기반 프로토콜 논리를 이용한 하드웨어 보조 설계 검증시스템
US7496869B1 (en) Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
JP2004054755A (ja) システムレベル設計方法及びシステムレベル設計装置
US20070271080A1 (en) Model generation method for software/hardware collaboration design
Shin et al. Interface synthesis from protocol specification
Vahid et al. Functional partitioning improvements over structural partitioning for packaging constraints and synthesis: tool performance
US20050055190A1 (en) Circuit operation verification device and method
US6539537B1 (en) System synthesizer
Gladigau et al. A system-level synthesis approach from formal application models to generic bus-based MPSoCs
Chen et al. Me3D: A model-driven methodology expediting embedded device driver development
JP5979965B2 (ja) 回路設計支援装置及び回路設計支援方法及びプログラム
US6449763B1 (en) High-level synthesis apparatus, high level synthesis method, and recording medium carrying a program for implementing the same
JP2008204341A (ja) インタフェース合成装置
JP2003114914A (ja) ソフトウェア/ハードウェア協調設計方法
Coelho et al. Redesigning hardware-software systems
US20030140054A1 (en) Processor composing apparatus, system LSI composing apparatus, processor composing method, system LSI composing method, and program therefor
Marin Interconnect automation tool improvement
JPH0896018A (ja) Cadツール管理方法および回路の自動設計システム
JPH11102381A (ja) アーキテクチャ動作合成装置、アーキテクチャ動作合成方法、プロセッサの設計方法およびプロセッサのアーキテクチャ動作記述方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060831

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090915

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100915

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110915

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120915

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130915

Year of fee payment: 7

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

LAPS Cancellation because of no payment of annual fees