JP6081832B2 - 動作合成装置及び動作合成プログラム - Google Patents
動作合成装置及び動作合成プログラム Download PDFInfo
- Publication number
- JP6081832B2 JP6081832B2 JP2013049820A JP2013049820A JP6081832B2 JP 6081832 B2 JP6081832 B2 JP 6081832B2 JP 2013049820 A JP2013049820 A JP 2013049820A JP 2013049820 A JP2013049820 A JP 2013049820A JP 6081832 B2 JP6081832 B2 JP 6081832B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- description
- loop
- behavioral synthesis
- data
- 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.)
- Active
Links
Images
Description
図1は、実施の形態1にかかる動作合成装置10の構成例を示すブロック図である。本実施の形態にかかる動作合成装置10は、回路の動作に関する記述に含まれるパイプライン化対象のループ記述内に記述された変数のうち、イタレーション間に依存性のある変数の情報を、その依存性を示す情報とともに表示装置に表示させる。それにより、本実施の形態にかかる動作合成装置10は、データハザードに関する有効な情報を設計者に知らせることができるため、ループ記述を効果的にパイプライン化することができる。以下、具体的に説明する。
動作合成部100は、C言語等の回路の動作に関する記述(動作記述:以下、ソースコードと称す)11を動作合成して、回路の構造に関する記述(構造記述;以下、RTL記述と称す)14を出力する部である。なお、RTL記述14は、図2の概念図にも示すように、例えば、状態遷移マシン(FSM;Finite State Machine)と、状態遷移マシン中の複数の状態のそれぞれに対応する複数のデータパスと、からなる。
入力装置300は、例えば、キーボード等の文字入力部と、マウスやタッチパッドなどの位置入力部と、によって構成される。文字入力部は、ソースコード11、合成制約12及び回路情報13等を入出力制御部200に入力する。位置入力部は、表示装置400の表示画面の任意の位置を指定(例えば、マウスでクリック)することにより、指定位置に対応する情報を入出力制御部200に入力する。
入出力制御部(表示制御部)200は、入力装置300からのソースコード11、合成制約12及び回路情報13等を動作合成部100に渡す。また、入出力制御部200は、動作合成部100による動作合成結果(RTL記述14の情報)及びデータハザードに関する情報(後述)を編集して表示装置400に渡す。
表示装置400は、動作合成部100による動作合成結果及び入出力制御部200によって編集されたデータハザードに関する情報を表示画面に表示する。
続いて、図3を参照して、動作合成部100の詳細を説明する。図3は、本実施の形態にかかる動作合成部100の論理構成の一例を示すブロック図である。なお、本実施の形態では、動作合成部100によって生成されるRTL記述14が、その後オブジェクトコードに変換され、状態毎に動的に回路構成を変化させるアレイ型プロセッサ(動的再構成プロセッサ)20に適用される場合を例に説明する。
以下、図4A〜図4Cを参照して、ループ記述のパイプライン化について簡単に説明する。図4Aは、ループ記述(状態数=4)をパイプライン化しない場合の処理内容を示す概念図である。図4Bは、ループ記述の4状態を2状態に折り畳んでパイプライン化した場合の処理内容を示す概念図である。図4Cは、ループ記述の4状態を1状態に折り畳んでパイプライン化した場合の処理内容を示す概念図である。なお、本例では、パイプライン段数が4段、ループ回数が10回であるものとする。また、本例では、1ステージ(一つの処理のまとまり)を実行するために1実行サイクル(クロックサイクル)が必要であるものとする。
ただし、ループ記述をパイプライン化する場合には、データハザードが発生するおそれがあるためそれを回避する必要がある。以下、図5を参照して、データハザードについて簡単に説明する。本例では、図4Cと同条件であると仮定して説明する。
そのため、例えば、動作合成のスケジューリング時にフォワーディング(バイパシング)処理を施すことにより、ステージA2のデータ読み出し処理がステージB1のデータ書き込み処理よりも先に実行されないようにする。
続いて、図7を参照して、動作合成部100の動作について説明する。図7は、動作合成部100の動作を示すフローチャートである。
なお、フォワーディング処理を施した場合でも、データハザードの発生を防ぐことができない場合がある。以下では、フォワーディング処理における問題点について説明する。
図9〜図13を参照して、表示装置400の具体的な表示内容を説明する。図9〜図13は、表示装置400の具体的な表示内容の一例を示す図である。
なお、本実施の形態にかかる動作合成装置10は、例えば、汎用的なコンピュータシステムにより実現可能である。以下、図14を用いて簡単に説明する。
図15Aは、動作合成装置10を含むデータ処理装置と、その出力結果が適用される処理装置と、からなるデータ処理システムの第1の構成例を示すブロック図である。
図15Bは、動作合成装置10を含むデータ処理装置と、その出力結果が適用される処理装置と、からなるデータ処理システムの第2の構成例を示すブロック図である。
特許文献3に開示された構成は、ループ記述を実際にパイプライン化してみてデータハザードが発生するか否かを検出するものであり、例えばデータハザード発生の恐れがあるにも関わらず回路規模等を犠牲にして自動的にデータハザードの発生を回避した場合には、データハザードを検出しない。つまり、この関連する技術は、データハザードを起こし得る全てのループ記述の情報を出力するものではない。このように、この関連する技術は、設計者に対してデータハザードに関する有効な情報を出力しないため、ループ記述を効果的にパイプライン化することができないという問題がある。さらに、この関連する技術は、変数の依存性の情報を出力しないため、設計者による動作記述の変更を効率良く行うことができないという問題がある。それに対し、上記実施の形態にかかる動作合成装置では、このような問題は生じない。
10 動作合成装置
11 ソースコード
12 合成制約
13 回路情報
14 RTL記述
15a オブジェクトコード
15b レイアウトデータ
20a オブジェクトコード生成装置
20b 論理合成及びレイアウト装置
30a アレイ型プロセッサ
30b LSI
100 動作合成部
101 DFG生成部
102 スケジューリング部
103 アロケーション部
104 FSM生成部
105 データパス生成部
106 パイプライン構成生成部
107 RTL記述生成部
108 パイプライン判定部
110 コンピュータ
111 CPU
112 RAM
113 ROM
114 IF
115 HDD
116 動作記述情報
117 構造記述情報
118 動作合成プログラム
200 入出力制御部
300 入力装置
400 表示装置
500 ループカウンタ回路
501 セレクタ
502 加算回路
503 比較回路
504〜506 レジスタ
Claims (9)
- 回路の動作に関する記述を動作合成して、回路の構造に関する記述を生成する動作合成部と、
前記回路の動作に関する記述に含まれるパイプライン化対象のループ記述内に記述された変数のうち、イタレーション間に依存性のある変数の情報を、その依存性を示す情報とともに表示装置に表示させる表示制御部と、を備え、
前記表示制御部は、パイプライン化対象のループ記述内に記述された変数のうち、一つのループ処理内においてデータ読み出しが行われた後にデータ書き込みが行われる変数の情報を、当該データ読み出し及び当該データ書き込みの依存性を示す情報とともに前記表示装置に表示させ、
前記表示制御部は、前記データ読み出し及び前記データ書き込みの間に演算処理又はメモリアクセス処理が行われる場合、当該演算処理又は当該メモリアクセス処理に関する情報をさらに前記表示装置に表示させる、動作合成装置。 - 前記表示制御部は、パイプライン化対象のループ記述内に記述された変数のうち、一つのループ処理内においてデータ読み出しが行われた後にデータ書き込みが行われる変数の情報を、当該データ読み出し及び当該データ書き込みの依存性を示す情報とともに前記表示装置に表示させる、請求項1に記載の動作合成装置。
- 前記表示制御部は、前記変数の情報及びその依存性を示す情報のうち指定された変数の情報又はその依存性を示す情報に対応する前記回路の構造に関する記述の情報を前記表示装置に表示させる、請求項1に記載の動作合成装置。
- 前記表示制御部は、前記回路の動作に関する記述を、前記変数の情報に対応させてさらに前記表示装置に表示させる、請求項1に記載の動作合成装置。
- 前記表示装置をさらに備えた、請求項1〜4の何れか一項に記載の動作合成装置。
- 回路の動作に関する記述を動作合成して、回路の構造に関する記述を生成する動作合成処理と、
前記回路の動作に関する記述に含まれるパイプライン化対象のループ記述内に記述された変数のうち、イタレーション間に依存性のある変数の情報を、その依存性を示す情報とともに表示装置に表示させる表示制御処理と、をコンピュータに実行させる動作合成プログラムであって、
前記表示制御処理は、パイプライン化対象のループ記述内に記述された変数のうち、一つのループ処理内においてデータ読み出しが行われた後にデータ書き込みが行われる変数の情報を、当該データ読み出し及び当該データ書き込みの依存性を示す情報とともに前記表示装置に表示させ、
前記表示制御処理は、前記データ読み出し及び前記データ書き込みの間に演算処理又はメモリアクセス処理が行われる場合、当該演算処理又は当該メモリアクセス処理に関する情報をさらに前記表示装置に表示させる、動作合成プログラム。 - 前記表示制御処理は、パイプライン化対象のループ記述内に記述された変数のうち、一つのループ処理内においてデータ読み出しが行われた後にデータ書き込みが行われる変数の情報を、当該データ読み出し及び当該データ書き込みの依存性を示す情報とともに前記表示装置に表示させる、請求項6に記載の動作合成プログラム。
- 前記表示制御処理は、前記変数の情報及びその依存性を示す情報のうち指定された変数の情報又はその依存性を示す情報に対応する前記回路の構造に関する記述の情報を前記表示装置に表示させる、請求項6に記載の動作合成プログラム。
- 前記表示制御処理は、前記回路の動作に関する記述を、前記変数の情報に対応させてさらに前記表示装置に表示させる、請求項6に記載の動作合成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013049820A JP6081832B2 (ja) | 2013-03-13 | 2013-03-13 | 動作合成装置及び動作合成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013049820A JP6081832B2 (ja) | 2013-03-13 | 2013-03-13 | 動作合成装置及び動作合成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014174940A JP2014174940A (ja) | 2014-09-22 |
JP6081832B2 true JP6081832B2 (ja) | 2017-02-15 |
Family
ID=51696056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013049820A Active JP6081832B2 (ja) | 2013-03-13 | 2013-03-13 | 動作合成装置及び動作合成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6081832B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599803B2 (en) | 2016-03-10 | 2020-03-24 | Mitsubishi Electric Corporation | High level synthesis apparatus, high level synthesis method, and computer readable medium |
WO2017158785A1 (ja) * | 2016-03-17 | 2017-09-21 | 三菱電機株式会社 | 高位合成装置、高位合成方法及び高位合成プログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002222228A (ja) * | 2001-01-26 | 2002-08-09 | Toshiba Corp | 高位合成システム及び高位合成方法 |
JP2006285865A (ja) * | 2005-04-04 | 2006-10-19 | Nec Electronics Corp | レジスタ転送レベル記述と動作記述間の対応関係特定方法、装置及びプログラム |
JP2007287044A (ja) * | 2006-04-19 | 2007-11-01 | Toshiba Corp | 設計支援装置 |
JP5348065B2 (ja) * | 2010-05-06 | 2013-11-20 | 富士通株式会社 | 検証支援プログラム、検証支援装置および検証支援方法 |
JP5644344B2 (ja) * | 2010-10-05 | 2014-12-24 | 富士通セミコンダクター株式会社 | 設計データ生成装置、設計データ生成方法及びプログラム |
-
2013
- 2013-03-13 JP JP2013049820A patent/JP6081832B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014174940A (ja) | 2014-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5985900B2 (ja) | 動作合成装置、動作合成装置を備えたデータ処理システム、及び、動作合成プログラム | |
JP2014016894A (ja) | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム | |
US7913194B1 (en) | Systems and methods for super-threading | |
US20070168902A1 (en) | Method for high-level synthesis of semiconductor integrated circuit | |
US10691856B1 (en) | System design flow with runtime customizable circuits | |
US10289093B1 (en) | Runtime adaptive generator circuit | |
JP5450840B2 (ja) | プログラムの実行性能評価のためのテストデータ生成方法 | |
JP6081832B2 (ja) | 動作合成装置及び動作合成プログラム | |
US20110295536A1 (en) | Clock jitter analyzing method and apparatus | |
JP5040758B2 (ja) | シミュレーション装置、シミュレーション方法及びプログラム | |
KR102611888B1 (ko) | 스위칭 액티비티에 기초한 반도체 장치의 배치 방법 및 이에 의해 제조된 반도체 장치 | |
JP5644344B2 (ja) | 設計データ生成装置、設計データ生成方法及びプログラム | |
JP2010073136A (ja) | ホールドタイムエラーの収束方法、収束装置、及び収束プログラム | |
US6505340B2 (en) | Circuit synthesis method | |
US6532584B1 (en) | Circuit synthesis method | |
JP5009243B2 (ja) | 動作合成装置、動作合成方法、プログラム、記録媒体、および半導体集積回路の製造方法 | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JP2010033540A (ja) | レジスタ転送レベル構造の変更量見積もり装置及び方法 | |
JP4779908B2 (ja) | 回路設計支援システム、回路設計支援方法及びプログラム | |
JP5347995B2 (ja) | 動作合成装置、動作合成方法及びプログラム | |
JP6807721B2 (ja) | 状態遷移編集装置および状態遷移編集プログラム | |
US20120112827A1 (en) | Apparatus for semiconductor integrated circuit, design method for semiconductor integrated circuit, and semiconductor integrated circuit | |
JP6317603B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP6559995B2 (ja) | 半導体集積回路の設計支援装置及び設計支援方法 | |
JP4268620B2 (ja) | 回路記述言語の等価性検証方法及び等価性検証装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160719 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160912 |
|
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: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6081832 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |