JP4730536B2 - 動作合成システム、動作合成方法およびプログラム - Google Patents
動作合成システム、動作合成方法およびプログラム Download PDFInfo
- Publication number
- JP4730536B2 JP4730536B2 JP2005372976A JP2005372976A JP4730536B2 JP 4730536 B2 JP4730536 B2 JP 4730536B2 JP 2005372976 A JP2005372976 A JP 2005372976A JP 2005372976 A JP2005372976 A JP 2005372976A JP 4730536 B2 JP4730536 B2 JP 4730536B2
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- behavioral synthesis
- terminal
- behavioral
- level
- 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
Images
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)
- Telephonic Communication Services (AREA)
- Devices For Executing Special Programs (AREA)
Description
入力された動作レベルの回路記述を解析して動作合成用の内部表現に変換するとともに、前記動作レベルの回路記述中の前記ポインタのタイプを指定するポインタタイプ指定に基づいて、ポインタ変数を具体的な回路実体に変換する際の対応関係を示す内部表現を生成する言語解析手段と、
前記言語解析手段により生成された内部表現中のポインタ変数を、予め定められた変換ルールに基づいて、端子と条件部の組に変換するポインタ−端子変換手段と、
前記ポインタ−端子変換手段によりポインタ変数が除去された後の内部表現に対して、前記下位関数をインライン展開することなく動作合成処理を行い、抽象度の低い回路記述を生成して出力する動作合成手段と、を有する。
図1は本発明の第1の実施形態の動作合成システムの構成を示すブロック図である。本実施形態の動作合成システムは、図1に示されるように、プログラム制御により動作するデータ処理装置(中央処理装置;プロセッサ;コンピュータ)2と、入力装置1と、記憶装置3と、出力装置4からから構成されている。
(1)CDFGでの最適化(冗長な演算の削除や定数計算など)
(2)スケジューリング(各処理を行うサイクルを決める)
(3)バインディング(各処理の演算やメモリアクセスで、実際にどの演算器やメモリを使用するかを決める)
(4)データパス、コントローラ作成(データ部と制御部を分割して生成)
(5)RTLレベル記述生成
なお、言語解析手段21、ポインタ−端子変換手段22、動作合成手段23の各々の処理手段は、必要に応じてシステムの内部表現を、記憶装置3のシステム内部表現記憶部31に対して、書き出しおよび読み込みを行う。
次に、本発明の第2の実施形態の動作合成システムについて図面を用いて説明する。本発明の第2の実施の形態の動作合成システムは、図3に示されるように、プログラム制御により動作するデータ処理装置(中央処理装置;プロセッサ;コンピュータ)32と、入力装置1と、記憶装置3と、出力装置4からから構成されている。図3において、図1中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
次に、本発明の第3の実施形態の動作合成システムについて図面を用いて説明する。
次に、本発明の第4の実施形態の動作合成システムについて詳細に説明する。
上記で説明した第1から第3の実施形態の動作合成システムでは、ポインタの具体的な回路実体を決定後、ポインタ変数を具体的な回路実体に変換する際の対応関係を示す内部表現を生成し、その情報を用いて、言語解析後の段階で、直ちにポインタを端子に変換しているが、本発明の第4の実施形態では、ポインタの端子と条件部への変換を一般的な動作合成の処理中、または処理後に行う。
先ず、図7−1に本システムへの入力となる動作レベル記述を示す。図7−1ではANSI−C言語をベースとして、外部入力端子にinput、外部出力端子にoutputというキーワードが追加されている。また、bool型は1ビットの変数を意味するものとする。図7−1は関数main()が親関数(上位関数)、関数func()が子関数(下位関数)の関係があり、外部端子は親関数に入力されるが、関数func()へポインタで渡されている。
図8−1では、register型およびmemory型の配列を関数func()に渡している。ここで、この動作レベル記述ではRとMの変換ルールをレジスタおよびメモリと指定し、それぞれのアクセスポート数を4および2と定めていることを意味するものとする。また、func()の引数*rはアクセスポート数3として合成することが指示されている。図1、図2に示した第1の実施形態の動作合成システムにより、main()及びfunc()はそれぞれ図8−2、図8−3のように変換される。図8−2では、レジスタおよびメモリのポートの端子構成はstruct Port型として定義され、MとRはそれぞれのポート数に応じて端子としての表現に変換される。また、関数func()から生成される端子はそれぞれmおよびrの構造体として表現され、それぞれの端子はMおよびRの端子に接続される。この変換はfunc()の仮引数だけで決定し、func()の実装は必ずしも必要としない。図8−3は、func()の変換方法を示しており、mとrはそれぞれ外部端子に変換され、配列への代入・参照はread_dataの参照、write_dataへの代入に変換される。
図9−1に示すように、関数func()に渡されるポインタの具体的な回路実体の種類が複数ある場合には、main()側の合成時に図9−2のように、関数の呼び出し毎に接続する具体的な回路実体を選択するように変換される。func()側の合成時には、図9−3のように具体的な回路実体に関わらず、ポート数に合わせて、端子へ入出力するように変換される。
図10−1に示すように、具体的な回路実体がmain()内の内部レジスタのときで、通常の動作合成フローでは配列として扱うときには、図10−2のようにwrite_enable信号によって配列への書き込みと読み込みへ変換することで実現される。一方、図10−3に示されるように、func()側では具体的な回路実体に関わらず端子への入出力に変換される。
2 データ処理装置
3 記憶装置
4 出力装置
21 言語解析手段
22 ポインタ−端子変換手段
23 動作合成手段
24 ポインタタイプ指定解析手段
25 ポインタタイプ解析手段
31 システム内部表現記憶部
32 データ処理装置
52 データ処理装置
A1〜A8 ステップ
B1〜B10 ステップ
C1〜C9 ステップ
Claims (12)
- 下位関数へ引数を渡すポインタを含む動作レベルの回路記述から、抽象度の低い回路記述を生成するための動作合成システムであって、
入力された動作レベルの回路記述を解析して動作合成用の内部表現に変換するとともに、前記動作レベルの回路記述中の前記ポインタのタイプを指定するポインタタイプ指定に基づいて、ポインタ変数を具体的な回路実体に変換する際の対応関係を示す内部表現を生成する言語解析手段と、
前記言語解析手段により生成された内部表現中のポインタ変数を、予め定められた変換ルールに基づいて、端子と条件部の組に変換するポインタ−端子変換手段と、
前記ポインタ−端子変換手段によりポインタ変数が除去された後の内部表現に対して、前記下位関数をインライン展開することなく動作合成処理を行い、抽象度の低い回路記述を生成して出力する動作合成手段と、を有する動作合成システム。 - 入力された動作レベルの回路記述中における、ポインタ変数の具体的な回路実体への指定であるポインタタイプ指定を解析し、動作合成用の内部表現に変換するポインタタイプ指定解析手段をさらに有する請求項1記載の動作合成システム。
- 前記言語解析手段の解析結果を基にポインタ変数の具体的な回路実体への変換方法を決定するポインタタイプ解析手段をさらに有する請求項1記載の動作合成システム。
- 前記ポインタ−端子変換手段は、前記言語解析手段の解析結果から直ちにポインタ変数を端子と条件部の組に変換せず、前記動作合成手段における動作合成処理中に、ポインタ変数を端子と条件部の組に変換する請求項1から3のいずれか1項記載の動作合成システム。
- 下位関数へ引数を渡すポインタを含む動作レベルの回路記述から、抽象度の低い回路記述を生成するための動作合成方法であって、
言語解析手段により、入力された動作レベルの回路記述を解析して動作合成用の内部表現に変換するとともに、前記動作レベルの回路記述中の前記ポインタのタイプを指定するポインタタイプ指定に基づいて、ポインタ変数を具体的な回路実体に変換する際の対応関係を示す内部表現を生成するステップと、
ポインタ−端子変換手段により、前記内部表現中のポインタ変数を、予め定められた変換ルールに基づいて、端子と条件部の組に変換するステップと、
動作合成手段により、前記ポインタ−端子変換手段によってポインタ変数が除去された後の内部表現に対して、前記下位関数をインライン展開することなく動作合成処理を行い、抽象度の低い回路記述を生成して出力するステップを有する動作合成方法。 - ポインタタイプ指定解析手段により、入力された動作レベルの回路記述中における、ポインタ変数の具体的な回路実体への指定であるポインタタイプ指定を解析し、動作合成用の内部表現に変換するステップをさらに有する請求項5記載の動作合成方法。
- ポインタタイプ解析手段により、前記言語解析手段の解析結果を基にポインタ変数の具体的な回路実体への変換方法を決定するステップをさらに有する請求項5記載の動作合成方法。
- 前記ポインタ−端子変換手段による前記ポインタ変数を端子と条件部の組に変換するステップでは、前記動作レベルの回路記述の解析結果から直ちにポインタ変数を端子と条件部の組に変換せず、動作合成処理中に、ポインタ変数を端子と条件部の組に変換する請求項5から7のいずれか1項記載の動作合成方法。
- 下位関数へ引数を渡すポインタを含む動作レベルの回路記述から、抽象度の低い回路記述を生成するための動作合成方法をコンピュータに実行させるためのプログラムであって、
言語解析手段により、入力された動作レベルの回路記述を解析して動作合成用の内部表現に変換するとともに、前記動作レベルの回路記述中の前記ポインタのタイプを指定するポインタタイプ指定に基づいて、ポインタ変数を具体的な回路実体に変換する際の対応関係を示す内部表現を生成する処理と、
ポインタ−端子変換手段により、前記内部表現中のポインタ変数を、予め定められた変換ルールに基づいて、端子と条件部の組に変換する処理と、
動作合成手段により、前記ポインタ−端子変換手段によってポインタ変数が除去された後の内部表現に対して、前記下位関数をインライン展開することなく動作合成処理を行い、抽象度の低い回路記述を生成して出力する処理とをコンピュータに実行させるためのプログラム。 - ポインタタイプ指定解析手段により、入力された動作レベルの回路記述中における、ポインタ変数の具体的な回路実体への指定であるポインタタイプ指定を解析し、動作合成用の内部表現に変換するステップをさらに有する請求項9記載のプログラム。
- ポインタタイプ解析手段により、前記言語解析手段の解析結果を基にポインタ変数の具体的な回路実体への変換方法を決定するステップをさらに有する請求項9記載のプログラム。
- 前記ポインタ−端子変換手段による前記ポインタ変数を端子と条件部の組に変換する処理では、前記動作レベルの回路記述の解析結果から直ちにポインタ変数を端子と条件部の組に変換せず、動作合成処理中に、ポインタ変数を端子と条件部の組に変換する請求項9から11のいずれか1項記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005372976A JP4730536B2 (ja) | 2005-12-26 | 2005-12-26 | 動作合成システム、動作合成方法およびプログラム |
US11/615,174 US7565632B2 (en) | 2005-12-26 | 2006-12-22 | Behavioral synthesizer system, operation synthesizing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005372976A JP4730536B2 (ja) | 2005-12-26 | 2005-12-26 | 動作合成システム、動作合成方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007172546A JP2007172546A (ja) | 2007-07-05 |
JP4730536B2 true JP4730536B2 (ja) | 2011-07-20 |
Family
ID=38195369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005372976A Expired - Fee Related JP4730536B2 (ja) | 2005-12-26 | 2005-12-26 | 動作合成システム、動作合成方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7565632B2 (ja) |
JP (1) | JP4730536B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7825684B2 (en) * | 2005-03-15 | 2010-11-02 | Tabula, Inc. | Variable width management for a memory of a configurable IC |
US7930666B1 (en) * | 2006-12-12 | 2011-04-19 | Tabula, Inc. | System and method of providing a memory hierarchy |
JP5267243B2 (ja) * | 2009-03-17 | 2013-08-21 | 日本電気株式会社 | 動作記述変換装置、動作記述変換方法、およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249955A (ja) * | 2000-03-07 | 2001-09-14 | Toshiba Corp | 高位合成方法 |
JP2001273347A (ja) * | 2000-03-24 | 2001-10-05 | Nec Corp | 半導体回路の合成システムとその合成方法、及び合成プログラムを記録した記録媒体 |
JP2003233632A (ja) * | 2002-02-07 | 2003-08-22 | Sanyo Electric Co Ltd | ポインタ回路を備える集積回路装置および該集積回路装置の設計方法および設計支援装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2953431B2 (ja) | 1997-05-26 | 1999-09-27 | 日本電気株式会社 | 高位合成装置及びその記録媒体 |
US6226776B1 (en) * | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
JPH11102381A (ja) | 1997-09-29 | 1999-04-13 | Matsushita Electric Ind Co Ltd | アーキテクチャ動作合成装置、アーキテクチャ動作合成方法、プロセッサの設計方法およびプロセッサのアーキテクチャ動作記述方法 |
US6145120A (en) * | 1998-03-24 | 2000-11-07 | Lockheed Martin Corporation | Declaration programming language extension for procedural programming languages |
US7302670B2 (en) * | 2000-12-21 | 2007-11-27 | Bryan Darrell Bowyer | Interactive interface resource allocation in a behavioral synthesis tool |
-
2005
- 2005-12-26 JP JP2005372976A patent/JP4730536B2/ja not_active Expired - Fee Related
-
2006
- 2006-12-22 US US11/615,174 patent/US7565632B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001249955A (ja) * | 2000-03-07 | 2001-09-14 | Toshiba Corp | 高位合成方法 |
JP2001273347A (ja) * | 2000-03-24 | 2001-10-05 | Nec Corp | 半導体回路の合成システムとその合成方法、及び合成プログラムを記録した記録媒体 |
JP2003233632A (ja) * | 2002-02-07 | 2003-08-22 | Sanyo Electric Co Ltd | ポインタ回路を備える集積回路装置および該集積回路装置の設計方法および設計支援装置 |
Also Published As
Publication number | Publication date |
---|---|
US20070150844A1 (en) | 2007-06-28 |
JP2007172546A (ja) | 2007-07-05 |
US7565632B2 (en) | 2009-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8584062B2 (en) | Tool suite for RTL-level reconfiguration and repartitioning | |
US10289093B1 (en) | Runtime adaptive generator circuit | |
JP2007087215A (ja) | ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム | |
JP2007034887A (ja) | ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置 | |
US8266416B2 (en) | Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system | |
CN113255258B (zh) | 逻辑综合方法、装置、电子设备及存储介质 | |
JP2006285333A (ja) | 動作合成装置及び方法 | |
JP4730536B2 (ja) | 動作合成システム、動作合成方法およびプログラム | |
Potkonjak et al. | Considering testability at behavioral level: use of transformations for partial scan cost minimization under timing and area constraints | |
JP2007004563A (ja) | ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法 | |
JP5115003B2 (ja) | 論理設計支援システム及びプログラム | |
US6532584B1 (en) | Circuit synthesis method | |
JP2007323206A (ja) | 動作合成装置、同方法、シミュレーション装置、同方法及び設計装置 | |
JP2008204341A (ja) | インタフェース合成装置 | |
JP4682245B2 (ja) | Hdl処理方法、プログラム及びコンピュータ読み取り可能な記憶媒体 | |
JP5467512B2 (ja) | 動作合成装置、動作合成方法、及び、動作合成プログラム | |
JP5262678B2 (ja) | 動作合成システム、動作合成方法、及び動作合成用プログラム | |
US11567741B2 (en) | Memory compiler techniques | |
US7350162B2 (en) | Structure analytic program | |
JP5233354B2 (ja) | プロパティ検証システム、プロパティ検証方法、及びプログラム | |
JPH11102381A (ja) | アーキテクチャ動作合成装置、アーキテクチャ動作合成方法、プロセッサの設計方法およびプロセッサのアーキテクチャ動作記述方法 | |
Öberg et al. | Grammar-based design of embedded systems | |
JP5458622B2 (ja) | 動作合成装置、動作合成方法、及び、プログラム | |
JP4199816B2 (ja) | 論理合成方法 | |
WO2023080890A1 (en) | Automated cell black boxing for layout versus schematic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101227 |
|
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: 20110323 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110405 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140428 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4730536 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |