JP3527146B2 - システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体 - Google Patents

システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体

Info

Publication number
JP3527146B2
JP3527146B2 JP25951899A JP25951899A JP3527146B2 JP 3527146 B2 JP3527146 B2 JP 3527146B2 JP 25951899 A JP25951899 A JP 25951899A JP 25951899 A JP25951899 A JP 25951899A JP 3527146 B2 JP3527146 B2 JP 3527146B2
Authority
JP
Japan
Prior art keywords
circuit
clock
statement
interface
permanent 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.)
Expired - Fee Related
Application number
JP25951899A
Other languages
English (en)
Other versions
JP2001084284A (ja
Inventor
敦資 中村
一敏 若林
勇一 丸山
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP25951899A priority Critical patent/JP3527146B2/ja
Priority to US09/660,470 priority patent/US6539537B1/en
Publication of JP2001084284A publication Critical patent/JP2001084284A/ja
Application granted granted Critical
Publication of JP3527146B2 publication Critical patent/JP3527146B2/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)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、所定の言語形式で
記述された動作記述から、記述された動作を行う回路を
合成し、その回路を所定のハードウェア記述言語の形式
で出力するシステム合成装置(動作合成ツール)に関す
る。
【0002】
【従来の技術】最近のICは、回路規模が大きく、その
構造も複雑になってきている。そのため、ICの開発に
は、各種のツールを用いて回路を自動合成する方法が用
いられる。ここで、各種のツールを用いたIC開発の一
般的な手順を図18を参照して説明する。まず、開発者
によって回路仕様が作成される(S101)。次に、作
成された回路仕様をもとに、所定の言語で動作を記述し
たデータが作成される(S102)。この動作記述が、
動作合成ツールによって、RT(Register Transfer)レ
ベルのHDL(Hardware Description Language;ハー
ドウェア記述言語)に変換される(S103)。このH
DLが、論理合成ツールによって、ゲートレベルのネッ
トリストに変換される(S104)。このネットリスト
が、レイアウトツールに入力され、マスクパターンが作
成される(S105)。そして、作成されたマスクパタ
ーンを用いて、ICの露光が行われる。
【0003】ところで、最近では、マスターとなるCP
Uと、スレーブとなるハードウェア回路と、マスター・
スレーブ間のインターフェース回路とを1チップの中に
作り込んだICも製造されるようになってきた。
【0004】このようなICにおいては、インターフェ
ース回路が、マスターとなるCPUからの命令をスレー
ブとなるハードウェア回路に伝達する場合に、CPUか
らの命令をリアルタイムでハードウェア回路に伝達する
場合もあるが、インターフェース回路内に、バッファと
なるメモリあるいはレジスタといった記憶素子を備えて
いて、この記憶素子にCPUからの命令を一時保管し、
命令伝達のタイミングを調整する場合もある。
【0005】すなわち、マスターとなるCPUからの命
令が、一時、記憶素子に書き込まれ、その後、記憶素子
への書き込みとは異なるタイミングでスレーブとなるハ
ードウェア回路側から読み出される場合がある。また、
その逆に、スレーブとなるハードウェア回路からの情報
が、記憶素子に書き込まれた後に、マスターとなるCP
Uが読み出す場合もある。
【0006】このように、マスターとなるCPUと、ス
レーブとなるハードウェア回路との間のインターフェー
ス回路に記憶素子を設けることによって、スレーブとな
るハードウェア回路が、マスターとなるCPUからの命
令をリアルタイムで受信しなくてもよくなり、必要に応
じて、マスターとなるCPUからの命令発行と、スレー
ブとなるハードウェア回路での命令の受信との間にタイ
ムラグを設けることが可能となる。
【0007】
【発明が解決しようとする課題】ところで、上述した手
順の、ステップS102からS103の動作記述、動作
合成、合成結果出力の工程において、汎用のプログラミ
ング言語、例えばC言語等で記述されたICの動作記述
からICの回路を自動合成し、所定のハードウェア記述
言語にて出力する動作合成ツールが用いられる。
【0008】この動作合成ツールは、与えられた順序動
作記述の全体を1つのハードウェア回路で実現すること
を前提としており、CPU制御すなわちソフトウェア制
御とハードウェア回路とに処理を分割して割り当てるこ
とは想定していないため、CPUすなわちソフトウェア
とハードウェア回路との間でメモリやレジスタを介して
データのやりとりをする回路を合成することはできな
い。従って、マスターとなるCPUとスレーブとなるハ
ードウェア回路とを内蔵するICあるいはマスターとな
るCPUとスレーブとなるハードウェア回路とが別々の
ICとして構成されているボードレベルのシステムのよ
うに、CPUすなわちソフトウェアとハードウェアとが
協調して動作するシステムを開発するには、マスターと
なるCPUと、スレーブとなるハードウェア回路との間
のインターフェース回路の部分を、RTレベルのHDL
で、手作業で記述する必要があり、この部分に関しては
動作合成ツールによる自動合成ができず、手間がかかっ
ていた。
【0009】そのため、例えば、開発するICにおけ
る、スレーブとなるハードウェア回路と、マスターとな
るCPUに内蔵されるソフトウェアとの、役割分担の境
界を種々変更して処理時間を比較検討するためのハード
ウェア・ソフトウェア分割見積もり作業の段階で、十分
な分割候補数を試すことができないという問題があっ
た。また、上位のシステムレベルでの仕様変更があった
場合にも、迅速に対応できないという問題があった。こ
のため、ICの開発期間の長期化を招く恐れがあった。
【0010】本発明は、上記の問題を解決するためにな
されたもので、マスターとなるCPUと、スレーブとな
るハードウェア回路と、マスター・スレーブ間のインタ
ーフェース回路とを含むICやボードレベルのシステム
の開発において、RTレベルでインターフェース回路を
記述することなく、インターフェース回路を含む動作合
成結果を得ることができるシステム合成装置、システム
合成方法およびシステム合成プログラムを記録した記録
媒体を提供するものである。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、第1の回路に接続されて第2の回路とは
異なるクロックで動作するバスを介して、前記第1の回
路から書き込みされる記憶素子を設け、特定のクロック
ステージに依らずにいつ起こるか分からない前記第1の
回路からの書き込みを待つインターフェース回路の動作
記述である永久接続文と、他のクロックの進行に従って
順序動作し、前記記憶素子へのアクセスを前記他のクロ
ックの特定のクロックステージにおいてのみ行う前記第
2の回路の動作記述である順序動作文とを含むシステム
記述を解釈して前記インターフェース回路と前記第1の
回路と前記第2の回路とを含むシステムを合成してハー
ドウェア記述言語の形式で出力するシステム合成装置で
あって、前記永久接続文と前記順序動作文とを分別する
分別手段と、システム記述中の各変数が前記インターフ
ェース回路内の記憶素子を示すインターフェース変数で
あるか否かを判別する判別手段と、前記分別手段によっ
て分別された前記永久接続文から前記インターフェース
回路を合成するインターフェース回路合成手段と、前記
分別手段によって分別された前記順序動作文から順序動
作回路を合成する順序動作回路合成手段と、各々合成さ
れた前記インターフェース回路と前記順序動作回路と
、前記インターフェース変数で示される記憶素子を介
して合併したシステムを生成する合併手段と、前記合併
手段によって生成されたシステムをハードウェア記述言
語の形式で出力する合併結果出力手段とを有し、前記合
併手段は、前記永久接続文または前記順序動作文のいず
れかにおける前記記憶素子への代入条件の有無を調査
し、該当する代入条件に対応する書き込み回路を生成
し、前記システムを合併するものであることを特徴とす
るシステム合成装置を提供する。
【0012】また、本発明は、前記分別手段が、前記永
久接続文と前記順序動作文とを、動作記述文中に特定の
記号が存在するか否かに基づいて分別するシステム合成
装置を提供する。また、本発明は、前記永久接続文と前
記順序動作文とに共通の変数を、前記インターフェース
回路内の前記記憶素子を示すインターフェース変数であ
ると判別する判別手段を設けたシステム合成装置を提供
する。また、本発明は、前記順序動作回路合成手段が、
前記判別手段によってインターフェース変数と判別され
た変数に、1個の前記記憶素子を占有させることを特徴
とするシステム合成装置を提供する。
【0013】また、本発明は、前記第1の回路および
第2の回路が、前記記憶素子への書き込みを同時に行
った場合の優先順位情報が記憶されたインターフェース
制約優先順位情報記憶手段を有し、前記合併手段は、前
記記憶素子への書き込みが前記優先順位情報に従うよう
前記インターフェース回路と前記順序動作回路との合併
を行うことを特徴とするシステム合成装置を提供する。
【0014】また、本発明は、前記システム合成装置
は、前記第1の回路と前記第2の回路の動作クロックに
関する情報に基づいて、前記記憶素子に供給するクロッ
クを特定することを特徴とするシステム合成装置を提供
する。また、本発明は、前記永久接続文によって、前記
システムに内蔵されたCPUの前記バスと、前記インタ
ーフェース回路とのアクセスを記述することを特徴とす
るシステム合成装置を提供する。
【0015】
【0016】また、本発明は、第1の回路に接続されて
第2の回路とは異なるクロックで動作するバスを介し
て、前記第1の回路から書き込みされる記憶素子を設
け、インターフェース回路の動作記述である永久接続文
と、他のクロックの進行に従って順序動作し、前記記憶
素子へのアクセスを前記他のクロックの特定のクロック
ステージにおいてのみ行う前記第2の回路の動作記述で
ある順序動作文とを含むシステム記述を、該システム記
述が予め記憶された記憶手段から読み出して解釈し、前
インターフェース回路と前記第1の回路と前記第2の
回路とを含むシステムを合成してハードウェア記述言語
の形式で出力するプログラムを記述したコンピュータ読
み取り可能な記憶媒体において、前記永久接続文と前記
順序動作文とを分別し、システム記述中の各変数が、前
記インターフェース回路内の記憶素子を示すインターフ
ェース変数であるか否かを判別し、分別された前記記憶
手段から読み出した前記永久接続文から前記インターフ
ェース回路を合成する第1の手順と、前記記憶手段から
読み出した前記順序動作文から順序動作回路を合成する
第2の手順と、前記記憶手段から読み出した前記永久接
続文または前記順序動作文のいずれかにおける前記記憶
素子への代入条件の有無を調査し、該当する代入条件
対応する書き込み回路を生成する第3の手順と、前記記
憶素子の動作クロックを前記記憶素子へ接続する第4の
手順と、合成された前記インターフェース回路と前記順
序動作回路とを合併したシステムを生成する第5の手順
と、生成された前記システムをハードウェア記述言語の
形式で出力する第6の手順とをコンピュータに実行させ
るためのプログラムを記憶したコンピュータ読み取り可
能な記憶媒体を提供する。
【0017】
【発明の実施の形態】本発明のシステム合成装置によっ
て合成することができる、マスターとなるCPUと、ス
レーブとなるハードウェア回路と、マスター・スレーブ
間のインターフェース回路とを含むシステムの一例の全
体構成を図1に示す。このシステムでは、マスターとな
るCPU1が、バス2を介してスレーブとなる回路と接
続されている。スレーブとなるハードウェア回路3〜6
は、バス2と、インターフェース回路7〜10を介して
接続されている。
【0018】インターフェース回路7〜10には、記憶
素子すなわちレジスタまたは小規模なローカルメモリが
設けられている。このレジスタまたは小規模なローカル
メモリは、スレーブとなるハードウェア回路側から見る
と、ローカルなレジスタや小規模なローカルメモリとし
て見え、マスターとなるCPU側から見ると、グローバ
ルなアドレス空間の中の特定のアドレスに割当てられた
メモリとして見える。
【0019】インターフェース回路7〜10は、CPU
1からの書き込みを所定のタイミングで確認する。これ
は、マスターとなるCPU1に接続されたバス2が、一
般に、スレーブとなるハードウエア回路とは異なるクロ
ックで動作するからである。
【0020】まず、本発明のシステム合成装置に入力さ
れる、システムの動作が記述されたデータ(以下、シス
テム記述と呼ぶ)の構成を図7および図8を参照して説
明する。システム記述は、図7に示すクロック宣言と、
図8に示す永久接続文と順序動作文とで構成されてい
る。なお、クロック宣言は、図8に示すシステム記述内
に含まれるものであってもよく、また、システム合成装
置が別途記憶するものであってもよい。
【0021】図7に示すクロック宣言では、システム内
で用いられるクロックの周波数が宣言される。
【0022】図8に示す順序動作文は、クロックの進行
に従って順序動作する回路、すなわちFSM(Finite S
tate Machine;状態遷移マシン)として動作する回路の
動作を記述したものである。例えば、順序動作文では、
状態遷移を示すことから、レジスタへのアクセスは、あ
る特定のクロックにおいてのみ行われ、それ以外のクロ
ックでは他の動作が行われる。すなわち、順序動作文に
おける記述では、書き込みがレジスタ等の記憶素子に対
して起こるのは、限られたクロックステージにおいての
みとなる。
【0023】また、図8に示す永久接続文は、CPUか
らの書き込みを常に待っているインターフェース回路の
動作を記述したものである。このインターフェース回路
への書き込み動作は、いつ起こるかわからないので、こ
のような動作は、順序動作文のように特定のクロックス
テージに当てはめることはできない。
【0024】本発明によるシステム合成装置は、上記の
システム記述内の順序動作文からFSMを合成し、永久
接続文からFSMの管轄外であるインターフェース回路
を合成する。このインターフェース回路は、いつCPU
から書き込みがあっても、この書き込みを取り込むこと
ができるように構成される。
【0025】次に、本発明によるシステム合成装置の構
成を図2を参照して説明する。システム合成装置は、処
理部11、演算器ライブラリ12、制約ファイル13、
インターフェース制約優先順位情報記憶部14を備え
る。
【0026】処理部11には、システム記述が入力さ
れ、この処理部11からは、入力されたシステム記述に
基づいたRTレベルの回路記述が出力される。また、処
理部11は、演算器ライブラリ12、制約ファイル1
3、インターフェース制約優先順位情報記憶部14と接
続されていて、これらの演算器ライブラリ12、制約フ
ァイル13、インターフェース制約優先順位情報記憶部
14からの情報を入力する。
【0027】演算器ライブラリ12には、システム合成
装置で合成する回路に使用できる演算器の種類に関する
情報が記憶されている。例えば、何ビット幅の加算器が
使えるのか、また、演算器の面積や遅延がどれだけか、
といった情報が記憶されている。
【0028】制約ファイル13には、上記の種類の演算
器が何個使えるかが記憶されている。ここに記憶された
演算器の数が多ければ、スケジューリング時に使える演
算器の数が多くなる。
【0029】インターフェース制約優先順位情報記憶部
14には、合成される回路中のインターフェース回路へ
のアクセスの優先順位が記憶されている。例えば、合成
される回路中のCPUバスからのアクセスと、スレーブ
側のハードウェア回路からのアクセスとが、インターフ
ェース回路に同時に成された場合、すなわちアクセスが
衝突した場合に、どちらを優先するか、といった情報が
記憶されている。
【0030】なお、演算器ライブラリ12、制約ファイ
ル13、インターフェース制約優先順位情報記憶部14
は、ハードディスク装置や光磁気ディスク装置、フラッ
シュメモリ等の不揮発性のメモリや、CR−ROM等の
読み出しのみが可能な記録媒体、RAM(Random Acces
s Memory)のような揮発性のメモリ、あるいはこれらの
組み合わせにより構成されるもとのする。
【0031】処理部11は、入力部15、記憶部16、
分別部30、判別部31、順序動作回路合成部17、イ
ンターフェース回路合成部18、合併部19、合併結果
出力部20を内蔵している。
【0032】入力部15は、前記システム記述や、演算
器ライブラリ12、制約ファイル13、インタフェース
制約優先順位情報記憶部14から出力された情報を入力
する。記憶部16は、入力部15に入力されたシステム
記述や上記各種の情報、および処理部11内での処理結
果等を記憶する。
【0033】分別部30は、前記システム記述内の各文
を、永久接続文と順序動作文とに分別する。判別部31
は、前記システム記述中の各変数が、インターフェース
回路内の記憶素子を示すインターフェース変数であるか
否かを判別する。
【0034】順序動作回路合成部17は、前記分別部3
0で分別された順序動作文から順序動作回路を合成す
る。インターフェース回路合成部18は、前記分別部3
0で分別された永久接続文からインターフェース回路を
合成する。
【0035】合併部19は、前記順序動作回路合成部1
7で合成された順序動作回路と、前記インターフェース
回路合成部18で合成されたインターフェース回路とを
合併する。合併結果出力部20は、前記合併部19での
合併結果を出力する。出力内容は、スレーブとなるハー
ドウェア回路と、マスターとなる、ソフトウェアを内蔵
するCPUと、これらのマスター・スレーブ間のインタ
ーフェース回路を含んだRTレベルの回路記述となる。
【0036】なお、処理部11は、専用のハードウェア
により実現されるものであってもよく、または、メモリ
およびCPU(中央演算装置)により構成され、処理部
11の機能を実現するためのプログラムをメモリにロー
ドして実行することによりその機能を実現させるもので
あってもよい。このとき、処理部11に内蔵された分別
部30、判別部31、順序動作回路合成部17、インタ
ーフェース回路合成部18、合併部19は、前記プログ
ラムによって実現される。
【0037】また、この処理部11には、周辺機器とし
て入力装置、表示装置が接続される(いずれも図示せ
ず)。ここで、入力装置とは、キーボード、マウス等の
入力デバイスのことをいう。表示装置とは、CRT(Ca
thode Ray Tube)や液晶表示装置等のことをいう。
【0038】次に、図3を参照し、上記処理部11の動
作の概要を説明する。まず、ユーザが、クロック宣言
と、順序動作文と、永久接続文とを含むシステム記述を
エディタ等を用いて手作業で作成し、処理部11に入力
する。すると、図中のステップ1で、処理部11に内蔵
された入力部15が、入力されたシステム記述を読み込
み、記憶部16に保持する。
【0039】ステップ2で、入力部15が、演算器ライ
ブラリ12からの情報を読み込んで、記憶部16に保持
する。ステップ3で、入力部15が、制約ファイル13
からの情報を読み込んで、記憶部16に保持する。
【0040】ステップ4で、まず、分別部30が、記憶
部16に保持されたシステム記述中の各文を、順序動作
文と永久接続文とに分別し、分別結果を再度記憶部16
に保持する。次に、判別部31が、記憶部16に保持さ
れた順序動作文と永久接続文中の各変数が、インターフ
ェース回路内の記憶素子を示すインターフェース変数で
あるか否かを判別し、判別結果を再度記憶部16に保持
する。
【0041】次に、順序動作回路合成部17が、記憶部
16に保持された順序動作文から順序動作回路を合成す
る。ここで、順序動作回路とは、スレーブとなるハード
ウェア回路のことである。なお、この合成時に、順序動
作回路合成部17は、記憶部16に保持された、演算器
ライブラリ12からの情報と、制約ファイル13からの
情報とによる制約を参照する。
【0042】ステップ5で、入力部15が、インターフ
ェース制約優先順位情報記憶手段14からインターフェ
ース制約優先順位情報を読み込み、記憶部16に保持す
る。
【0043】ステップ6で、永久接続回路合成部18
が、記憶部16に保持された永久接続文から、アドレス
デコーダ等を含んだインターフェース回路を合成する。
次に、合併部19が、合成されたインターフェース回路
と、上記順序動作回路とを合併(マージ)し、合併結果
を記憶部16に保持する。
【0044】例えば、インターフェース回路に記憶素子
が必要な場合には、この記憶素子への書き込みデータ線
をマージするため、マルチプレクサ(MUX)で書き込
みデータ線に優先順位をつけ、異なったクロック種類が
存在する場合にクロック線をマージするため、クロック
切換回路を追加する場合もある。ただし、永久接続文側
と、順序動作文側との、どちらか一方からしか前記記憶
素子への書き込み動作がない場合には、書き込み動作を
マージする必要はない。
【0045】ステップ7で、合併結果出力部20が、上
記合併結果、すなわちスレーブとなるハードウェア回路
と、マスターとなる、ソフトウェアを内蔵するCPU
と、これらのマスター・スレーブ間のインターフェース
回路とを含んだ、RTレベルの回路記述を、VHDLや
verilogHDLなどのHDLの形で出力する。
【0046】次に、図4および図5のフローチャートを
参照し、上記ステップ4および6における合成・合併の
詳細な動作を説明する。図4と図5は連続したフローチ
ャートであり、図4のは、図5のに続いている。な
お、以下の文中におけるS1等の符号は、これらのフロ
ーチャート中のステップを表している。
【0047】まず、分別部30が、記憶部16から、ク
ロック宣言と、永久接続文と、順序動作文とを含むシス
テム記述中の1文を取り出す(S1)。
【0048】次に、分別部30は、取り出されたシステ
ム記述中の1文を、永久接続文あるいは順序動作文に分
別する(S2)。この分別は、文中に、永久接続文であ
ることを示す代入記号::=があるか否かによって行う。
分別部30は、代入記号::=がある文を永久接続文であ
ると判断し、代入記号::=が無い文を順序動作文と判断
する。なお、この代入記号::=は、インターフェース回
路に内蔵されるレジスタやメモリ等の記憶素子への、マ
スターとなるCPUのバスからのデータの代入や、記憶
素子からCPUバスへの読み出しを意味している。
【0049】記憶部16は、分別された永久接続文を、
永久接続内部データとして自身の中に記憶し(S3
a)、分別された順序動作文を、順序動作内部データと
して自身の中に記憶する(S3b)。ただし、記憶部1
6は、レジスタやメモリの宣言は、永久接続内部データ
と順序動作内部データとの両方に重複して記憶する。
【0050】次に、分別部30は、システム記述中の全
文の分別が終了したか否かを調べる(S4)。終了して
いなければ、S2の分別のステップに戻り、分別部30
は、次の文の分別を実行する。終了していれば、次のス
テップS5へ進む。すなわち、分別部30および記憶部
16は、S2、S3a、S3bの一連のステップを、シ
ステム記述中の全ての文について実行し、全ての文の分
別が終了したら、次のステップS5へ進む。
【0051】S5で、判別部31は、システム記述中の
各文の、代入の左辺がインターフェース変数であるか否
かを判別する。判別部31は、同じ変数が永久接続文と
順序動作文との両方にあれば、インターフェース変数と
判別する。
【0052】次に、永久接続回路合成部18が、インタ
ーフェース回路を合成する(S6a)。また、順序動作
回路合成部17が、順序動作回路(スレーブ側の回路)
を合成する(S6b)。このとき、S5でインターフェ
ース変数と判別された変数は、他の変数とシェアリング
せずに、1個のインターフェース変数に1個の記憶素子
(レジスタやメモリ等)を占有させる。
【0053】一般に、順序動作回路合成部17における
合成では、変数のライフサイクルを考慮し、例えば、あ
るレジスタを始めはaという変数の保存場所として使用
していても、この変数が使われなくなれば、途中からb
という変数の保存場所として使用することがある。イン
ターフェース関数の場合には、このような使い回しをせ
ず、1個のインターフェース変数で1個のレジスタを占
有するような回路を合成する。
【0054】図5の説明に移り、合併部19は、マージ
処理を開始する(S7)。次に、合併部19は、記憶素
子(レジスタやメモリ等)の、永久接続文および順次動
作文における代入条件を調査する(S8)。代入条件の
調査とは、永久接続文と順次動作文とに共通の部分であ
るインターフェース回路をいつ使うのかをチェックする
ことである。
【0055】調査の結果、合併部19は、以下のような
動作を行う(S9)。すなわち、永久接続文および順次
動作文のどちらからも代入のない条件では、合併部19
は、インターフェース回路内に、記憶素子の値を保持す
るためのフィードバックループを生成する。永久接続文
でのみ代入のある条件では、合併部19は、インターフ
ェース回路内に、永久接続文からの値のみを書き込む回
路を生成する。順序動作文でのみ代入のある条件では、
合併部19は、インターフェース回路内に、順序動作文
からの値のみを書き込む回路を生成する。永久接続文お
よび順次動作文の両方で重複代入のある条件では、合併
部19は、前記インターフェース制約優先順位情報の指
定に従い、インターフェース回路内に、優先順位をつけ
て記憶素子へ書き込む回路を生成する。
【0056】次に、合併部19は、記憶部16に保持さ
れたシステム記述の先頭に記載されたクロック宣言を読
み込む(S10)。このクロック宣言は、合成される回
路内で使用されるクロックの周波数を宣言したものであ
る。合併部19は、読み込まれたクロック宣言に従い、
以下のような動作を行う(S11)。CPUバスクロッ
クとスレーブクロックの周波数の大小関係が一定でなけ
れば、クロック切換回路を生成し、このクロック切換回
路をインターフェース回路内の記憶素子(レジスタやメ
モリ等)に接続する。また、このクロック切換回路に、
切り換えを制御するための制御線を接続する。CPUバ
スクロックの周波数が、スレーブクロックの周波数より
大きければ、CPUバスクロックをインターフェース回
路内の記憶素子(レジスタ等)に接続する。CPUバス
クロックの周波数が、スレーブクロックの周波数より小
さければ、スレーブクロックをインターフェース回路内
の記憶素子(レジスタ等)に接続する。最後に、合併結
果出力部20は、マージ処理による合併結果をRTレベ
ルのHDLの形で出力する(S12)。
【0057】ここで、図6を参照し、上記S9におけ
る、優先順位をつけて書き込む回路の一例を説明する。
図6(a)は、「永久接続でのみ代入のある条件」およ
び「どちらからも代入のない条件」で合成される回路の
例で、condition Aのみの条件で、data Aがレジスタ2
1に書き込まれる回路である。すなわち、condition A
が真であれば、マルチプレクサ22によってdata Aが選
択され、選択されたdataAがレジスタ21に書き込まれ
る。condition Aが偽であれば、マルチプレクサ22に
よってレジスタ21の出力が選択され、選択されたレジ
スタ21の出力が同じレジスタ21の入力に戻される。
従って、このとき、レジスタ21は、以前からの値を保
持し続ける。
【0058】図6(b)は、「順序動作でのみ代入のあ
る条件」および「どちらからも代入のない条件」で合成
される回路の例で、condition Bのみの条件で、data B
がレジスタ21に書き込まれる回路である。すなわち、
condition Bが真であれば、マルチプレクサ23によっ
てdata Bが選択され、選択されたdata Bがレジスタ21
に書き込まれる。condition Bが偽であれば、マルチプ
レクサ23によってレジスタ21の出力が選択され、選
択されたレジスタ21の出力が同じレジスタ21の入力
に戻される。従って、このとき、レジスタ21は、以前
からの値を保持し続ける。
【0059】condition Aがcondition bより優先される
という条件で、図6(a)の回路と図6(b)の回路と
をマージすると、図6(c)の回路になる。この回路
は、前記S9における「両方で重複代入のある条件」お
よび「どちらからも代入のない条件」で合成される回路
の例である。condition Aが真であれば、マルチプレク
サ25によってdata Aが選択され、選択されたdata Aが
優先的にレジスタ21に書き込まれる。condition Aが
偽のとき、はじめてcondition Bが考慮され、condition
Bが真であれば、マルチプレクサ24によってdata Bが
選択され、選択されたdata Bがレジスタ21に書き込ま
れる。condition Aとcondition Bの両方が偽であれば、
レジスタ21は、以前からの値を保持し続ける。
【0060】次に、図7を参照し、システム記述中のク
ロック宣言の例を説明する。このクロック宣言は、シス
テム記述の先頭で行われる。図7(a)は、スレーブク
ロックおよびCPUバスクロックの周波数が固定の場合
の宣言の例である。この例では、スレーブクロック(cl
ock)周波数が100MHz、CPUバスクロック(ext
_clock)周波数が66MHzである。このような場合に
は、スレーブクロックの方が速いので、インターフェー
ス回路中の記憶素子のクロックとして、スレーブクロッ
クが利用される。また、システム記述を永久接続文と順
序動作文とに分別する際には、永久接続文の方に、CP
Uバスクロックの宣言をより分け、順序動作文の方に、
スレーブクロックの宣言をより分ける。
【0061】図7(b)は、スレーブクロックおよびC
PUバスクロックの周波数が固定ではない場合の宣言の
例である。この例では、スレーブクロック(clock)周
波数は10kHzまたは100MHz、CPUバスクロ
ック(ext_clock)周波数は33MHzまたは66MH
zである。このような場合には、周波数の変化に応じ
て、どちらのクロックを、インターフェース回路中の記
憶素子のクロックとして用いるかを切り換えるので、ク
ロック切換回路が生成される。
【0062】次に、図7および図8に示すシステム記述
から、本発明のシステム合成装置により回路を合成する
過程の例を説明する。この例では、インターフェース回
路中の記憶素子としてレジスタが用いられている。図7
は、クロック宣言であり、ここで、システム中で使用さ
れるクロックの周波数が宣言される。図8のシステム記
述は、永久接続文部32と順序動作文部33とから構成
されている。また、CPUから見たアドレスは変数addr
essの値により示される。
【0063】永久接続文部32には、writeモードのと
き、addressが0xFC00であれば、write_data_from_busを
レジスタa_regに書き込み(図中の32a)、readモー
ドのとき、addressが0xFC00であれば、レジスタa_regの
内容をread_data_to_busへ読み出すことが記載されてい
る。これらの書き込みおよび読み出しは、代入記号::=
によって表現されている。また、これらの書き込みおよ
び読み出しは、スレーブクロックの進行に同期して行わ
れる動作ではなく、CPUバスクロックに同期して行わ
れる動作であり、addressの条件が満足されれば行われ
る動作である。
【0064】これに対し、順序動作文部33には、以下
のような、スレーブクロックの進行に応じた順序動作が
記載されている。まず、3クロック待ち(図中の33
a)、3クロック目に、condition 1が真であれば、イ
ンターフェース回路内のレジスタa_regに、スレーブ側
からの値write_data_from_slaveを書き込む(図中の3
3b)。その後、4クロック待つ(図中の33c)。こ
の待ちの間に、例えば、CPUとインターフェース回路
とのやりとりがあり、CPUからレジスタa_regに新し
い値が書き込まれると、レジスタa_regの値が変化す
る。次のステップで、レジスタa_regの値が5であれ
ば、さらに3クロック待つ(図中の33d)。そして、
さらに2クロック待ち(図中の33e)、先頭に戻る。
【0065】図9は、図8のシステム記述中の順序動作
文部33のみから、順序動作回路合成部17が合成した
回路である。この回路中のレジスタ(REG)は、スレー
ブクロック(CLK_of_slave)のみによって動作し、レジ
スタ(REG)への入力条件として、condition 1が使用さ
れ、このcondition 1によってマルチプレクサ(MUX)が
切り換えられ、レジスタ(REG)へは、スレーブ側から
の値(data_from_slave)あるいはレジスタ(REG)自身
の出力が書き込まれる。
【0066】図10は、図8のシステム記述中の永久接
続文部32のみから、インターフェース回路合成部18
が合成した回路である。この回路は、CPUバスからの
アクセスのみが考慮された回路となっている。すなわ
ち、レジスタ(REG)はCPUバスクロックによって動
作する。また、レジスタ(REG)への入力を切り換える
マルチプレクサ(MUX)は、CPUバスからのアドレス
(address_from_bus)によって切り換えられる。マルチ
プレクサ(MUX)の切り換えによって、レジスタ(REG)
には、CPUバスからのデータ(write_data_from_bu
s)あるいはレジスタ(REG)自身の出力が入力される。
【0067】図11、12、13は、クロック切り換え
条件に応じて、上記の図9と図10との回路を合併部1
9がマージした回路である。図11は、合併部19が、
クロックを切り換えるためのCLK切換回路26を含む
回路を合成した例である。CLK切換回路26は、CP
Uバス側のクロック(CLK_of_bus)とスレーブ側のクロ
ック(CLK_of_slave)とのうち、どちらかを選択する。
合併部19は、CLK切換回路26を、スレーブ側のク
ロック周波数と、CPUバス側のクロック周波数とが可
変で、大小関係が一定ではないときに、自動的に生成す
る。
【0068】この回路中のレジスタ(REG)は、フリッ
プフロップを用いているので、クロックが入力されるタ
イミングで値を更新する。レジスタ(REG)の入力側の
素子が、レジスタ(REG)に次のクロックが来ないうち
に、レジスタ(REG)に書き込もうとしている入力デー
タを取り下げてしまったりすると、レジスタ(REG)の
値が更新されないままになってしまう。従って、レジス
タ(REG)に供給するクロックは、このレジスタ(REG)
にデータを書き込もうとしている側のクロックに切り換
える必要がある。
【0069】例えば、CPU側からレジスタ(REG)に
データを書き込もうとしているときには、レジスタ(RE
G)に供給するクロックをCPU側のクロックに切り換
え、スレーブ側からデータを書き込もうとしているとき
には、スレーブ側のクロックに切り換える。この切り換
えは、図11中のcndition 1およびwriteに基づいて、
CLK切換回路26で行われる。
【0070】CPU側とスレーブ側の両方から書き込み
があった場合の優先順位は、システム記述とは別に、イ
ンターフェース制約優先順位情報記憶手段14が出力す
るインターフェース制約優先順位情報として、制御部1
1に伝達される。この情報に基づいて、どちらのデータ
書き込みを優先するかが決定される。
【0071】図11の場合、レジスタ(REG)への入力
の優先順位は、CPU側の書き込みデータ(write_data
_from_bus)が、スレーブ側の書き込みデータ(data_fr
om_slave)より優先されている。これは、マルチプレク
サ(MUX)27、28の配置によって実現されている。
すなわち、インターフェース回路の記憶素子への書き込
みデータ線をマージするため、マルチプレクサ(MUX)
で書き込みデータ線に優先順位をつけ、クロック線をマ
ージするため、CLK切換回路26が追加されている。
【0072】なお、上記の書き込みの優先順位は、動作
合成ツールに対して、実行オプションとして、ボタン入
力等によって入力してもよい。
【0073】図12は、合併部19が、CPUバスクロ
ック(CLK_of_bus)に同期したレジスタ(REG)を使っ
た回路を合成した例である。CPUバスクロックと、ス
レーブクロックとの周波数の大小関係が、常に一定であ
れば、速い方のクロックで、常にレジスタ(REG)を叩
き続ければ、取りこぼしなく、レジスタ(REG)へのデ
ータ書き込みができる。図12の場合には、CPUバス
クロックの方が常に速いので、CPUバスクロックのみ
を使っている。
【0074】図13は、合併部19が、スレーブクロッ
ク(CLK_of_slave)に同期したレジスタ(REG)を使っ
た回路を合成した例である。この例は、スレーブクロッ
ク(CLK_of_slave)が、CPUバスクロック(CLK_of_b
us)より常に速い場合の例である。
【0075】CLK切換回路26は、クロックそのもの
を切り換えるので、本質的に非同期回路となり、タイミ
ング制御が難しく、このような回路は、不要であれば、
設けない方が好ましい。図12、13の回路では、CL
K切換回路26は不要なので、設けられていない。
【0076】次に、図14〜17を用いて、インターフ
ェース回路中の記憶素子としてメモリが用いられる回路
が合成される過程の例を説明する。
【0077】図14のシステム記述は、永久接続文部3
4と順序動作文部35とから構成されている。ここで、
CPUから見たグローバルなアドレスは変数addressの
値で示され、記憶素子におけるローカルアドレスは変数
local_addressの値で示され、local_addressの値は定数
offsetで示されるオフセット分を考慮した値、すなわち
address-offsetによって示される。
【0078】永久接続文部34には、writeモードのと
き、addressが0xFC01〜0xFC11であれば、write_data_fr
om_busをメモリb_memに書き込み(図中の34a)、rea
dモードのとき、addressが0xFC01〜0xFC11であれば、メ
モリb_memの内容を変数read_data_to_busの値として読
み出す(図中の34b)ことが記載されている。
【0079】順序動作文部35には、以下のような、ク
ロックの進行に応じた順序動作が記載されている。ま
ず、3クロック待ち(図中の35a)、3クロック目
に、condition 1が真であれば、インターフェース回路
内のメモリb_memに、スレーブ側からの値write_data_fr
om_slaveを書き込む(図中の35b)。その後、2クロ
ック待つ(図中の35c)。次のステップで、メモリb_
memの値が5であれば、さらに1クロック待つ(図中の
35d)。そして、さらに2クロック待ち(図中の35
e)、先頭に戻る。
【0080】図15は、図14のシステム記述中の順序
動作文部35のみから、順序動作回路合成部17が合成
した回路である。この回路中のメモリ(RAM)は、スレ
ーブクロック(CLK_of_slave)のみによって動作し、メ
モリ(RAM)への入力条件として、write_enable(condit
ion 1)が使用される。メモリ(RAM)へは、スレーブ側
からの値(write_data_from_slave)が書き込まれる。
【0081】図16は、図14のシステム記述中の永久
接続文部のみから、インターフェース回路合成部18が
合成した回路である。この回路は、CPUバスからのア
クセスのみが考慮された回路となる。すなわち、メモリ
(RAM)はCPUバスクロック(CLK_of_bus)によって
動作する。また、アドレスデコーダ(address decorde
r)29は、CPUバスからの、グローバルなアドレス
を、メモリ(RAM)のローカルアドレス(local_addres
s)に変換する。
【0082】図17は、上記の図15と図16との回路
を合併部19がマージした回路である。図17は、合併
部19が、クロックを切り換えるためのCLK切換回路
26を含む回路を合成した例である。CLK切換回路2
6は、CPUバス側のクロック(CLK_of_bus)とスレー
ブ側のクロック(CLK_of_slave)とのうち、どちらかを
選択する。この選択は、図17中のwrite_enable(cndit
ion 1)およびwriteに基づいて行われる。
【0083】なお、本発明における、永久接続文から合
成されるインターフェース回路は、CPUバスに接続さ
れる回路に限定されない。例えば、マスターのCPUが
無くて、スレーブ同士が通信するハードウェア間通信
で、クロックが異なるものにも、本発明は適用可能であ
る。ハードウェア間通信では、ハンドシェイク信号等
で、記憶素子(レジスタやメモリ等)への書き込みの優
先順位を決定する。一般に、ある回路の外部からの信号
を受ける部分(インターフェース)の動作を永久接続文
で書き、外部から入力された信号を処理する部分の動作
を順序動作文で書けばよい。
【0084】また、上記処理部11の機能を実現するた
めのプログラムをコンピュータ読み取り可能な記録媒体
に記録して、この記録媒体に記録されたプログラムをコ
ンピュータシステムに読み込ませ、実行することによ
り、上記処理部11の動作を実現してもよい。なお、こ
こでいう「コンピュータシステム」とは、OSや周辺機
器等のハードウェアを含むものとする。また、「コンピ
ュータシステム」は、WWWシステムを利用している場
合であれば、ホームページ提供環境(あるいは表示環
境)も含むものとする。
【0085】また、「コンピュータ読み取り可能な記録
媒体」とは、フレキシブルディスク、光磁気ディスク、
ROM、CD−ROM等の可搬媒体、コンピュータシス
テムに内蔵されるハードディスク等の記憶装置のことを
いう。
【0086】また上記プログラムは、前述した機能の一
部を実現するためのものであっても良い。さらに、前述
した機能をコンピュータシステムにすでに記録されてい
るプログラムとの組み合わせで実現できるもの、いわゆ
る差分ファイル(差分プログラム)であっても良い。
【0087】以上、この発明の実施形態を図面を参照し
て詳述してきたが、具体的な構成はこの実施形態に限ら
れるものではなく、この発明の要旨を逸脱しない範囲の
設計等も含まれる。
【0088】
【発明の効果】本発明によれば、システム合成装置にか
けるシステム記述中に、マスター・スレーブ間のインタ
ーフェース回路の記述を埋め込むことができるので、R
Tレベルでインターフェース回路を記述することなく、
マスターとなるCPUとスレーブとなるハードウェア回
路とマスター・スレーブ間のインターフェース回路とを
含むシステムの合成結果を容易に得ることができる。こ
れにより、ハードウェア・ソフトウェア分割見積もりに
おいて、より多くの分割候補を試行することができ、ま
た、上位のシステム仕様変更にも、迅速に対応できる。
【0089】また、インターフェース制約優先順位情報
記憶手段が出力するインターフェース制約優先順位情報
を用いれば、入力の優先順位が考慮されたインターフェ
ース回路を合成できる。さらに、クロック切換制約情報
記憶手段が出力するクロック切換制約情報を用いれば、
インターフェース回路で用いるクロックを適切なものに
設定する回路を合成できる。また、永久接続文によっ
て、CPUバスとインターフェース回路とのアクセスを
記述すれば、RTレベルでCPUバスとインターフェー
ス回路とのアクセスを記述することなく、CPUとCP
Uバスとインターフェース回路とを含む回路を、システ
ム記述のみから一元的に合成できる。
【図面の簡単な説明】
【図1】 本発明のシステム合成装置の設計対象となる
システムのブロック図。
【図2】 本発明の一実施形態であるシステム合成装置
のブロック図。
【図3】 システム合成装置の概略の動作を示すフロー
チャート。
【図4】 システム合成装置の分別・合併の詳細な動作
を示すフローチャート。
【図5】 システム合成装置の分別・合併の詳細な動作
を示すフローチャート。
【図6】 優先順位をつけてレジスタへの書き込みを行
う回路の一例を示すブロック図。
【図7】 システム記述におけるクロック宣言を示す
図。
【図8】 レジスタを含むシステム記述を示す図。
【図9】 レジスタを含む順序動作文から合成される回
路を示すブロック図。
【図10】 レジスタを含む永久接続文から合成される
回路を示すブロック図。
【図11】 レジスタを含む、順序動作文から合成され
る回路と永久接続文から合成される回路とをマージし
た、クロック切換回路を含む回路を示すブロック図。
【図12】 順序動作文から合成される回路と永久接続
文から合成される回路とをマージした、CPUバスクロ
ックに同期したレジスタを含む回路を示すブロック図。
【図13】 順序動作文から合成される回路と永久接続
文から合成される回路とをマージした、スレーブクロッ
クに同期したレジスタを含む回路を示すブロック図。
【図14】 メモリを含むシステム記述を示す図。
【図15】 メモリを含む順序動作文から合成される回
路を示すブロック図。
【図16】 メモリを含む永久接続文から合成される回
路を示すブロック図。
【図17】 メモリを含む、順序動作文から合成される
回路と永久接続文から合成される回路とをマージした回
路を示すブロック図。
【図18】 システム合成装置(動作合成ツール)を含
む各種のツールを用いたIC開発の一般的な手順を示す
図。
【符号の説明】
1 CPU 2 バス 3〜6 ハードウェア 7〜10 記憶素子 11 処理部 12 演算器ライブラ
リ 13 制約ファイル 14 インターフェース制約優先順位情報記憶部 15 入力部 16 記憶部 17 順序動作回路合成部(順序動作回路合成手段) 18 インターフェース回路合成部(インターフェース
回路合成手段) 19 合併部(合併手段) 20 合併結果出力部(合併結果出力手段) 21 レジスタ 22〜25 マルチプ
レクサ 26 CLK切換回路 27、28 マルチプ
レクサ 29 アドレスデコーダ 30 分別部(分別手
段) 31 判別部(判別手段) 32 永久接続文部 33 順序動作文部 34 永久接続文部 35 順序動作文部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 勇一 神奈川県川崎市中原区小杉町一丁目403 番53 日本電気アイシーマイコンシステ ム株式会社内 (56)参考文献 特開 平11−282888(JP,A) 特開 平7−334564(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 654

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1の回路に接続されて第2の回路とは
    異なるクロックで動作するバスを介して、前記第1の回
    路から書き込みされる記憶素子を設け、特定のクロック
    ステージに依らずにいつ起こるか分からない前記第1の
    回路からの書き込みを待つインターフェース回路の動作
    記述である永久接続文と、他のクロックの進行に従って
    順序動作し、前記記憶素子へのアクセスを前記他のクロ
    ックの特定のクロックステージにおいてのみ行う前記第
    2の回路の動作記述である順序動作文とを含むシステム
    記述を解釈して前記インターフェース回路と前記第1の
    回路と前記第2の回路とを含むシステムを合成してハー
    ドウェア記述言語の形式で出力するシステム合成装置で
    あって、前記永久接続文と前記順序動作文とを分別する分別手段
    と、 システム記述中の各変数が前記インターフェース回路内
    の記憶素子を示すインターフェース変数であるか否かを
    判別する判別手段と、 前記分別手段によって分別された 前記永久接続文から前
    記インターフェース回路を合成するインターフェース回
    路合成手段と、前記分別手段によって分別された 前記順序動作文から順
    序動作回路を合成する順序動作回路合成手段と、 各々合成された前記インターフェース回路と前記順序動
    作回路とを、前記インターフェース変数で示される記憶
    素子を介して合併したシステムを生成する合併手段と、前記合併手段によって生成されたシステムをハードウェ
    ア記述言語の形式で出力する合併結果出力手段と、 を有し、前記合併手段は、前記永久接続文または前記順
    序動作文のいずれかにおける前記記憶素子への代入条件
    の有無を調査し、該当する代入条件に対応する書き込み
    回路を生成し、前記システムを合併するものであること
    を特徴とするシステム合成装置。
  2. 【請求項2】 前記分別手段は、前記永久接続文と前記
    順序動作文とを、動作記述文中に特定の記号が存在する
    か否かに基づいて分別するものであることを特徴とする
    請求項1に記載のシステム合成装置。
  3. 【請求項3】 前記永久接続文と前記順序動作文とに共
    通の変数を、前記インターフェース回路内の前記記憶素
    子を示すインターフェース変数であると判別する判別手
    段を設けたことを特徴とする請求項1または2に記載の
    システム合成装置。
  4. 【請求項4】 前記順序動作回路合成手段は、前記判別
    手段によってインターフェース変数と判別された変数
    に、1個の前記記憶素子を占有させることを特徴とする
    請求項3に記載のシステム合成装置。
  5. 【請求項5】 前記第1の回路および前記第2の回路
    が、前記記憶素子への書き込みを同時に行った場合の優
    先順位情報が記憶されたインターフェース制約優先順位
    情報記憶手段を有し、前記合併手段は、前記記憶素子へ
    の書き込みが前記優先順位情報に従うよう前記インター
    フェース回路と前記順序動作回路との合併を行うことを
    特徴とする請求項1ないし4のいずれかに記載のシステ
    ム合成装置。
  6. 【請求項6】 前記システム合成装置は、前記第1の回
    路と前記第2の回路の動作クロックに関する情報に基づ
    いて、前記記憶素子に供給するクロックを特定すること
    を特徴とする請求項1ないし5のいずれかに記載のシス
    テム合成装置。
  7. 【請求項7】 前記永久接続文によって、前記システム
    に内蔵されたCPUの前記バスと、前記インターフェー
    ス回路とのアクセスを記述することを特徴とする請求項
    1ないし6のいずれかに記載のシステム合成装置。
  8. 【請求項8】 第1の回路に接続されて第2の回路とは
    異なるクロックで動作するバスを介して、前記第1の回
    路から書き込みされる記憶素子を設け、インターフェー
    回路の動作記述である永久接続文と、他のクロックの
    進行に従って順序動作し、前記記憶素子へのアクセスを
    前記他のクロックの特定のクロックステージにおいての
    み行う前記第2の回路の動作記述である順序動作文とを
    含むシステム記述を、該システム記述が予め記憶された
    記憶手段から読み出して解釈し、前記インターフェース
    回路と前記第1の回路と前記第2の回路とを含むシステ
    ムを合成してハードウェア記述言語の形式で出力するプ
    ログラムを記述したコンピュータ読み取り可能な記憶媒
    体において、前記永久接続文と前記順序動作文とを分別し、システム
    記述中の各変数が、前記インターフェース回路内の記憶
    素子を示すインターフェース変数であるか否かを判別
    し、分別された 前記記憶手段から読み出した前記永久接
    続文から前記インターフェース回路を合成する第1の手
    順と、 前記記憶手段から読み出した前記順序動作文から順序動
    作回路を合成する第2の手順と、 前記記憶手段から読み出した前記永久接続文または前記
    順序動作文のいずれかにおける前記記憶素子への代入
    の有無を調査し、該当する代入条件に対応する書き込
    み回路を生成する第3の手順と、 前記記憶素子の動作クロックを前記記憶素子へ接続する
    第4の手順と、 合成された前記インターフェース回路と前記順序動作回
    路とを合併したシステムを生成する第5の手順と、生成された前記システムをハードウェア記述言語の形式
    で出力する第6の手順と、 をコンピュータに実行させるためのプログラムを記憶し
    たコンピュータ読み取り可能な記憶媒体。
JP25951899A 1999-09-13 1999-09-13 システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体 Expired - Fee Related JP3527146B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25951899A JP3527146B2 (ja) 1999-09-13 1999-09-13 システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体
US09/660,470 US6539537B1 (en) 1999-09-13 2000-09-12 System synthesizer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25951899A JP3527146B2 (ja) 1999-09-13 1999-09-13 システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2001084284A JP2001084284A (ja) 2001-03-30
JP3527146B2 true JP3527146B2 (ja) 2004-05-17

Family

ID=17335220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25951899A Expired - Fee Related JP3527146B2 (ja) 1999-09-13 1999-09-13 システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US6539537B1 (ja)
JP (1) JP3527146B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036175A (ja) * 2001-07-24 2003-02-07 Pacific Design Kk データ処理装置の設計方法
JP4082653B2 (ja) * 2001-11-15 2008-04-30 松下電器産業株式会社 高位合成方法および高位合成装置
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
US7146153B2 (en) * 2003-07-30 2006-12-05 Sbc Knowledge Ventures, L.P. Provisioning of wireless private access subscribers for location based services
US20050050557A1 (en) * 2003-08-28 2005-03-03 Gabryjelski Henry P. Adaptive multiple concurrent CD/DVD streaming algorithms
DE102005050304A1 (de) * 2005-10-17 2007-04-19 Netccm Gmbh Verfahren und Programm für die Generierung automatisch verteilbarer Clients von Application-Servern
JP2008204341A (ja) * 2007-02-22 2008-09-04 Nec Corp インタフェース合成装置
JP5157534B2 (ja) * 2008-03-06 2013-03-06 日本電気株式会社 動作合成装置、および、プログラム
JP5109764B2 (ja) * 2008-03-31 2012-12-26 日本電気株式会社 記述処理装置、記述処理方法およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864487A (en) * 1996-11-19 1999-01-26 Unisys Corporation Method and apparatus for identifying gated clocks within a circuit design using a standard optimization tool

Also Published As

Publication number Publication date
JP2001084284A (ja) 2001-03-30
US6539537B1 (en) 2003-03-25

Similar Documents

Publication Publication Date Title
JP3587257B2 (ja) 命令実行監視システム
EP0476722B1 (en) Data processing system
US20060184912A1 (en) Automatic design apparatus for semiconductor integrated circuits, method for automatically designing semiconductor integrated circuits, and computer program product for executing an application for an automatic design apparatus for semiconductor integrated circuits
JP3527146B2 (ja) システム合成装置、システム合成方法およびシステム合成プログラムを記録した記録媒体
JP4007483B2 (ja) 高位合成装置および高位合成方法
US20050034090A1 (en) Circuit designing method and a circuit designing system
SNOW III AUTOMATION OF MODULE SET INDEPENDENT REGISTER-TRANSFER LEVEL DESIGN.
EP1202194A2 (en) 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
JPH06250837A (ja) スケジューリング処理方式
JP2004259143A (ja) プロセッサ、システムlsi、システムlsiの設計方法、及び、それを記録した記録媒体
JP2007102631A (ja) 論理回路設計支援装置およびこれを用いた論理回路設計支援方法
US7228513B2 (en) Circuit operation verification device and method
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
US5245549A (en) Gate addressing system for logic simulation machine
JP3616212B2 (ja) メガセルテスト支援装置
JPH0744401A (ja) 論理集積回路およびそのデータ処理システム
JPH1010196A (ja) 論理エミュレーション装置
JP2004086786A (ja) システム設計支援方法およびシステム設計支援装置
JP3255139B2 (ja) 高位合成システム、方法及び記録媒体
JP3215210B2 (ja) ハードウェア設計支援システム
JPH07175661A (ja) ユーザプログラムロード方式
Hamre Framework for self reconfigurable system on a Xilinx FPGA.
Stitt et al. Propagating constants past software to hardware peripherals on fixed-application embedded systems
JPH02252024A (ja) マイクロプログラムロード方式
Röwer Programmable intellectual property modules for system design by reuse

Legal Events

Date Code Title Description
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: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100227

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees