JP5287427B2 - シンボリックデバッガ、方法およびプログラム - Google Patents
シンボリックデバッガ、方法およびプログラム Download PDFInfo
- Publication number
- JP5287427B2 JP5287427B2 JP2009082212A JP2009082212A JP5287427B2 JP 5287427 B2 JP5287427 B2 JP 5287427B2 JP 2009082212 A JP2009082212 A JP 2009082212A JP 2009082212 A JP2009082212 A JP 2009082212A JP 5287427 B2 JP5287427 B2 JP 5287427B2
- Authority
- JP
- Japan
- Prior art keywords
- variable
- source program
- execution
- correspondence
- model
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、モデル実行手段が、前記ハードウェア動作モデルを実行し、
対応関係管理手段が、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報と、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報とを保持し、前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定するとともに、前記変数対応情報を参照して、該特定した命令文に用いられた変数の値を前記モデル実行手段による実行結果から取得し、
表示手段が、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記対応関係管理手段によって取得された値とを関連付けて強調表示により表示し、
前記対応関係管理手段が、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させることを特徴とする。
ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、モデル実行手段が、前記ハードウェア動作モデルを実行し、
対応関係管理手段が、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報を保持し、前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定し、
前記モデル実行手段が、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報を保持し、該変数対応情報を参照して、前記特定した命令文に用いられた変数の値を保持し、
表示手段が、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記モデル実行手段にて保持した値とを関連付けて強調表示により表示し、
前記対応関係管理手段が、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させることを特徴とする。
ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、前記ハードウェア動作モデルを実行する第1の処理と、
前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定するとともに、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報を参照して、前記特定した命令文に用いられた変数の値を前記第1の処理における実行結果から取得する第2の処理と、
前記ソースプログラムの実行状態として、前記第2の処理にて特定された命令文の行と、該命令文の変数と、該変数について前記第2の処理によって取得された値とを関連付けて強調表示により表示する第3の処理と、
処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる第4の処理とを、コンピュータに実行させることを特徴とする。
図1は、本発明の第1の実施形態である動作合成用シンボリックデバッガの構成を示すブロック図である。
<プログラム>
x=a+b; --(1)
out2=x; --(2)
out2=x; --(3)
…; --(4)
x=c+d; --(5)
次に、対応関係管理手段22は、表示更新のタイミングか否かを判定する(図2のステップA9)。ここでは、1サイクル毎の表示更新を行うものとしており、対応関係管理手段22は、サイクル周期に基づき、表示更新の有無を判定する。なお、表示更新は、別のタイミング、例えばハードウェア動作モデルの1行を実行する毎に実行されてもよい。表示更新のタイミングでない場合は、ステップA3の処理に戻る。
図12は、本発明の第2の実施形態である動作合成用シンボリックデバッガの構成を示すブロック図である。
また、モデル実行手段21は、ソースプログラム30中の変数とハードウェア動作モデル中の変数との対応関係を示す変数対応情報を保持し、該変数対応情報を参照して、ハードウェア動作モデル12上の変数値をソースプログラム30中の変数値に変換し、その情報を保持する。この保持した変数値は、対応関係管理手段22によって特定した命令文に用いられた変数の値として、モデル実行手段21からGUI表示手段23に供給される。
図14は、本発明の他の実施形態であるシンボリックデバッガの構成を示すブロック図である。
10 動作合成システム
11 合成用ハードウェア記述
12 ハードウェア動作モデル
13 シンボリックデバッガ用情報
13a 行対応情報
13b 変数対応情報
20 シンボリックデバッガ
21 モデル実行手段
22 対応関係管理手段
23 GUI表示手段
30 ソースプログラム
Claims (7)
- ソースプログラムの実行状態を表示する表示手段と、
前記ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルを実行するモデル実行手段と、
前記モデル実行手段によるハードウェア動作モデルの実行状態を監視し、該実行状態に応じて前記表示手段による実行状態の表示を管理する対応関係管理手段と、を有し、
前記ハードウェア動作モデルは、特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、
前記対応関係管理手段は、
前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報と、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報とを保持し、
前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定するとともに、前記変数対応情報を参照して、該特定した命令文に用いられた変数の値を前記モデル実行手段による実行結果から取得し、
前記表示手段は、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記対応関係管理手段によって取得された値とを関連付けて同一の強調表示形態により表示し、
前記対応関係管理手段は、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる、シンボリックデバッガ。 - ソースプログラムの実行状態を表示する表示手段と、
前記ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルを実行するモデル実行手段と、
前記モデル実行手段によるハードウェア動作モデルの実行状態を監視し、該実行状態に応じて前記表示手段による実行状態の表示を制御する対応関係管理手段と、を有し、
前記ハードウェア動作モデルは、特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、
前記対応関係管理手段は、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報を保持し、前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定し、
前記モデル実行手段は、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報を保持し、該変数対応情報を参照して、前記特定した命令文に用いられた変数の値を保持し、
前記表示手段は、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記モデル実行手段にて保持した値とを関連付けて強調表示により表示し、
前記対応関係管理手段は、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる、シンボリックデバッガ。 - 前記パイプライン動作が複数のループ処理からなり、同一ループ処理において前記強調表示の形態が同一とされる、請求項1または2に記載のシンボリックデバッガ。
- 前記対応関係管理手段は、前記パイプライン動作の開始および終了とされる基本ブロックの実行位置保持変数の値を示すパイプライン情報をさらに保持し、前記現在実行中の基本ブロックの実行位置保持変数の値を前記モデル実行手段から取得し、前記パイプライン情報を参照して、該取得した実行位置保持変数の値に基づいて、前記現在実行中の基本ブロックがパイプライン動作であるか否かを判定する、請求項1から3のいずれか1項に記載のシンボリックデバッガ。
- ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、モデル実行手段が、前記ハードウェア動作モデルを実行し、
対応関係管理手段が、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報と、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報とを保持し、前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定するとともに、前記変数対応情報を参照して、該特定した命令文に用いられた変数の値を前記モデル実行手段による実行結果から取得し、
表示手段が、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記対応関係管理手段によって取得された値とを関連付けて強調表示により表示し、
前記対応関係管理手段が、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる、シンボリックデバッグ方法。 - ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、モデル実行手段が、前記ハードウェア動作モデルを実行し、
対応関係管理手段が、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報を保持し、前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定し、
前記モデル実行手段が、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報を保持し、該変数対応情報を参照して、前記特定した命令文に用いられた変数の値を保持し、
表示手段が、前記ソースプログラムの実行状態として、前記対応関係管理手段によって特定された命令文の行と、該命令文の変数と、該変数について前記モデル実行手段にて保持した値とを関連付けて強調表示により表示し、
前記対応関係管理手段が、処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる、シンボリックデバッグ方法。 - ソースプログラムをハードウェアの動作として記述したハードウェア動作モデルが特定の記述を含む実行位置保持変数により識別される複数の基本ブロックからなり、前記ソースプログラム中のループ記述に対応する複数のステージからなるパイプライン動作が前記実行位置保持変数により識別される複数の基本ブロックにより記述されており、前記ハードウェア動作モデルを実行する第1の処理と、
前記実行位置保持変数に基づいて現在実行中の基本ブロックを特定し、該現在実行中の基本ブロックが前記パイプライン動作である場合に、前記複数のステージと前記ソースプログラムの命令文の行との対応関係を示す行対応情報を参照して、前記現在実行中の基本ブロックに記述されたステージに対応する前記ソースプログラム中の命令文の行を特定するとともに、前記ソースプログラム中の変数と前記ハードウェア動作モデル中の変数との対応関係を示す変数対応情報を参照して、前記特定した命令文に用いられた変数の値を前記第1の処理における実行結果から取得する第2の処理と、
前記ソースプログラムの実行状態として、前記第2の処理にて特定された命令文の行と、該命令文の変数と、該変数について前記第2の処理によって取得された値とを関連付けて強調表示により表示する第3の処理と、
処理の流れを判別可能な複数の異なる強調表示のパターンに基づき、前記パイプライン動作の進行状況に応じて前記強調表示形態をステージ別に変化させる第4の処理とを、コンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009082212A JP5287427B2 (ja) | 2009-03-30 | 2009-03-30 | シンボリックデバッガ、方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009082212A JP5287427B2 (ja) | 2009-03-30 | 2009-03-30 | シンボリックデバッガ、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010237759A JP2010237759A (ja) | 2010-10-21 |
JP5287427B2 true JP5287427B2 (ja) | 2013-09-11 |
Family
ID=43092047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009082212A Active JP5287427B2 (ja) | 2009-03-30 | 2009-03-30 | シンボリックデバッガ、方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5287427B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5939478B1 (ja) | 2015-05-20 | 2016-06-22 | 富士ゼロックス株式会社 | 情報処理装置およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH086815A (ja) * | 1994-06-21 | 1996-01-12 | Mitsubishi Electric Corp | デバッグ装置、コンパイラ及び統計解析装置 |
JP2003131902A (ja) * | 2001-10-24 | 2003-05-09 | Toshiba Corp | ソフトウェアデバッガ、システムレベルデバッガ、デバッグ方法、及びデバッグプログラム |
WO2006022204A1 (ja) * | 2004-08-23 | 2006-03-02 | Pacific Design Inc. | ソースプログラムの分析装置および方法 |
-
2009
- 2009-03-30 JP JP2009082212A patent/JP5287427B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010237759A (ja) | 2010-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5648584B2 (ja) | ソフトウェアアプリケーションのプロファイリング方法及び装置 | |
US9037595B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
US8726226B2 (en) | Integrated work lists for engineering project change management | |
EP3338179B1 (en) | Graphical representation of data in a program code editor | |
US20140365990A1 (en) | Software evaluation device and method | |
US8291372B2 (en) | Creating graphical models representing control flow of a program manipulating data resources | |
JPH0778751B2 (ja) | バイアスされた疑似ランダム・テスト・パターンを動的に生成する方法 | |
JP2015043198A (ja) | 解析システム、解析方法および解析プログラム | |
JP6258159B2 (ja) | プログラム情報生成システム、方法、及びプログラム | |
JP2014510960A (ja) | ツール・ジェネレータ | |
JP2011096107A (ja) | 並列化方法、システム、及びプログラム | |
KR101232535B1 (ko) | 가상 태스크를 이용한 멀티-코어의 성능 분석용 관계 모델링 | |
Anzt et al. | Towards continuous benchmarking: An automated performance evaluation framework for high performance software | |
JP2013008277A (ja) | カバレッジ測定装置、方法およびプログラム | |
CN110554861B (zh) | 具有编译和读取-评估-打印-循环操作的软件开发环境 | |
Brinkmann et al. | Task debugging with temanejo | |
JP2008276735A (ja) | プログラムコード変換装置及びプログラムコード変換方法 | |
JP4770657B2 (ja) | パイプライン合成システム、方法及びプログラム | |
JP5287427B2 (ja) | シンボリックデバッガ、方法およびプログラム | |
JP2005063136A (ja) | 半導体集積回路の設計装置、設計方法、及び設計プログラム | |
JP4898365B2 (ja) | 組み込み用プログラム開発装置、及びプログラム自動生成方法 | |
JP2007080049A (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
JP6776914B2 (ja) | 並列化方法、並列化ツール | |
JP4860564B2 (ja) | プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム | |
Speicher et al. | Clone removal in Java programs as a process of stepwise unification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130424 |
|
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: 20130507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5287427 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |