JP2008181227A - 模擬実行装置、方法およびプログラム - Google Patents
模擬実行装置、方法およびプログラム Download PDFInfo
- Publication number
- JP2008181227A JP2008181227A JP2007012891A JP2007012891A JP2008181227A JP 2008181227 A JP2008181227 A JP 2008181227A JP 2007012891 A JP2007012891 A JP 2007012891A JP 2007012891 A JP2007012891 A JP 2007012891A JP 2008181227 A JP2008181227 A JP 2008181227A
- Authority
- JP
- Japan
- Prior art keywords
- register
- value
- simulation execution
- registers
- unit
- 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
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
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
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)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【解決手段】本発明の一態様としての模擬実行装置は、周期的な信号を受信する受信部と、複数のレジスタと、前記周期的な信号と前記複数のレジスタとを用いて動作する論理回路モデルを模擬実行する模擬実行部と、前記周期的な信号に基づいて時刻をカウントするカウンタと、前記複数のレジスタの値を監視するレジスタ値監視部と、前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけて記録するレジスタ値記録部と、前記レジスタ値記録部を参照してデータ列の周期性を検出する周期性検出部と、前記模擬実行の停止を指示する停止指示信号を前記模擬実行部に与える停止部と、を備える。
【選択図】図1
Description
一方、近年、携帯電話などの組込み機器においては、ソフトウェアの大規模化と開発サイクルの短縮化とが同時進行しており、開発やテストの速度が追いつかなくなりつつある。このため、ハードウェア製造前に論理検証や評価を効率的におこなうことが可能な、HDL の模擬実行の重要性は増している。
周期的な信号を受信する受信部と、
複数のレジスタと、
前記周期的な信号と前記複数のレジスタとを用いて動作する論理回路モデルを模擬実行する模擬実行部と、
前記周期的な信号に基づいて時刻をカウントするカウンタと、
前記複数のレジスタの値を監視するレジスタ値監視部と、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけて記録するレジスタ値記録部と、
前記レジスタ値記録部を参照してデータ列の周期性を検出する周期性検出部と、
前記模擬実行の停止を指示する停止指示信号を前記模擬実行部に与える停止部と、
を備える。
周期的な信号を受信し、
前記周期的な信号と複数のレジスタとを用いて動作する論理回路モデルを模擬実行し、
前記周期的な信号に基づいて時刻をカウントし、
前記複数のレジスタの値を監視し、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけてレジスタ値記録部に記録し、
前記レジスタ値記録部を参照してデータ列の周期性を検出し、
前記模擬実行を停止する。
周期的な信号を受信するステップと、
前記周期的な信号と複数のレジスタとを用いて動作する論理回路モデルを模擬実行するステップと、
前記周期的な信号に基づいて時刻をカウントするステップと、
前記複数のレジスタの値を監視するステップと、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけてレジスタ値記録部に記録するステップと、
前記レジスタ値記録部を参照してデータ列の周期性を検出するステップと、
前記模擬実行を停止するステップと、
をコンピュータに実行させる。
図1は、本発明の第1実施形態としての模擬実行用回路モデル(模擬実行装置)6000の構成を示すブロック図である。
本実施形態では、回路(タイマ回路)に対してイレギュラーな入力信号はないが、該回路からの出力信号が必要な場合に関して説明する。
本実施形態では、回路(タイマ回路)からの出力信号が必要であり、かつ該回路へのイレギュラーな入力信号(たとえばRESET信号)があり得る場合に関して説明する。
まず、入力監視機構2600 が回路切換機構2700 に入力検出シグナル5200 を発する。回路切換機構2700 は、レジスタ値回復機構2400 に時刻100 のレジスタ値の要求4300 を送る。レジスタ値回復機構2400 は、t = 100に対応するレジスタ値を取得し、レジスタ値テーブル4600 に書き込む。ここまでの処理は、第1実施形態の処理と同一である。本例ではさらに、“RESET ← 1”に基づき、レジスタ値テーブル4600におけるRESET レジスタの値を1に変更する。その後に、忠実模擬実行機構2800 の動作を再開することにより、正確に動作を継続することができる。
第4および第5実施形態では、第1〜第3実施形態の改良手法に関して述べる。第4および第5実施形態では、模擬実行時の周期性検出以降の処理は、第1〜第3実施形態とほぼ同一である。そこで、第4および第5実施形態では、一例として、第3実施形態の模擬実行時における周期性検出までの処理との相異点を中心に説明する。
本実施形態では、レジスタ間の依存グラフ1200 の強連結成分ごとに、監視・登録を行う改良手法について説明する。
1200:依存グラフ
2000:依存グラフ作成部
2300:レジスタ値監視機構
2400:レジスタ値回復機構
2500:周期性検出機構
2600:入力監視機構
2700:回路切替機構
2800:忠実模擬実行機構
2900:出力機構
4100:周期的な入力信号
4700:過去データ記憶テーブル
6000、7000、8000:模擬実行用回路モデル
Claims (21)
- 周期的な信号を受信する受信部と、
複数のレジスタと、
前記周期的な信号と前記複数のレジスタとを用いて動作する論理回路モデルを模擬実行する模擬実行部と、
前記周期的な信号に基づいて時刻をカウントするカウンタと、
前記複数のレジスタの値を監視するレジスタ値監視部と、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけて記録するレジスタ値記録部と、
前記レジスタ値記録部を参照してデータ列の周期性を検出する周期性検出部と、
前記模擬実行の停止を指示する停止指示信号を前記模擬実行部に与える停止部と、
を備えた模擬実行装置。 - 前記周期性検出部は、同じ値をもつデータ列が2つ以上存在し、かつ2つのデータ列の時刻の差が、前記周期的な信号の周期の倍数であるとき、データ列の周期性を検出することを特徴とする請求項1に記載の模擬実行装置。
- 前記受信部は、各々周期が異なる2つ以上の周期的な信号を受信し、
前記周期性検出部は、前記2つのデータ列の時刻の差が、各周期的な信号の倍数に該当するとき、データ列の周期性を検出することを特徴とする請求項2に記載の模擬実行装置。 - 前記周期性検出部は、時間的に最も近い同一の値からなる2つのデータ列の時刻の差をデータ列の周期として得ることを特徴とする請求項2または3に記載の模擬実行装置。
- ある時刻におけるレジスタの値を要求する要求信号を受信する要求信号受信部と、
前記レジスタ値記録部における1周期分の各データ列のうち、前記ある時刻に対応するデータ列から前記レジスタの値を取得するレジスタ値取得部と、
前記レジスタ値取得部により取得されたレジスタの値を出力する出力部と、
をさらに備えたことを特徴とする請求項1ないし4のいずれか一項に記載の模擬実行装置。 - 前記論理回路モデルの記述に基づき、他のレジスタから値を決定可能な第1レジスタを検出するレジスタ検出部をさらに備え、
前記レジスタ値記録部は、前記複数のレジスタのうち前記第1レジスタと異なるレジスタの値からなるデータ列を記録する、
ことを特徴とする請求項1ないし4のいずれか一項に記載の模擬実行装置。 - ある時刻における前記第1レジスタの値を要求する要求信号を受信する要求信号受信部と、
前記レジスタ値記録部における1周期分の各データ列のうち、前記ある時刻に対応するデータ列に含まれる前記他のレジスタの値を用いて前記第1レジスタの値を計算するレジスタ値計算部と、
前記レジスタ値計算部により計算された前記第1レジスタの値を出力する出力部と、
をさらに備えたことを特徴とする請求項6に記載の模擬実行装置。 - 前記模擬実行が停止されている間、前記複数のレジスタのうち外部へ出力する値を格納する出力レジスタを、前記レジスタ値記録部における1周期分の前記出力レジスタの値と、前記周期的な信号または前記カウンタとに基づいて更新するレジスタ更新部をさらに備えることを特徴とする請求項1ないし7のいずれか一項に記載の模擬実行装置。
- 前記レジスタ値記録部内のデータ列によって前記複数のレジスタを回復するレジスタ回復部と、
不規則な割込信号の入力を検出する入力検出部と、をさらに備え、
前記複数のレジスタは、前記不規則な割込信号の入力に応じた割込値を格納するための割込レジスタを含み、
前記レジスタ回復部は、前記レジスタ値記録部における1周期分の各データ列のうち、前記不規則な割込信号の入力時刻に対応するデータ列によって、前記割込レジスタを除く前記複数のレジスタを更新し、また、前記割込値を前記割込レジスタに格納し、
前記停止部は、前記模擬実行の停止を解除する停止解除信号を前記模擬実行部に与える、
ことを特徴とする請求項1ないし8のいずれか一項に記載の模擬実行装置。 - 前記レジスタ回復部は、前記模擬実行部が模擬実行を行っているときに前記不規則な割込信号が入力されたら、前記レジスタ値記録部をクリアし、前記割込値を前記割込レジスタに格納することを特徴とする請求項8に記載の模擬実行装置。
- 前記論理回路モデルを解析し、第2レジスタから第1レジスタへの代入がある場合、第2レジスタを表すノードから第1レジスタを表すノードへ方向付きのアークを追加し、また、前記代入のタイミングが第3レジスタの値により決定される場合は、第3レジスタを表すノードから前記第1レジスタを表すノードへの方向付きアークを追加することにより、レジスタ間依存グラフを生成するグラフ生成部をさらに備え、
前記周期性検出部は、前記レジスタ間依存グラフにおける強連結成分ごとに周期性の検出を行い、
前記停止部は、前記模擬実行のうち前記周期性の検出された強連結成分に含まれるレジスタを扱う処理の停止を指示する指示信号を前記模擬実行部に与える、
ことを特徴とする請求項1に記載の模擬実行装置。 - 周期的な信号を受信し、
前記周期的な信号と複数のレジスタとを用いて動作する論理回路モデルを模擬実行し、
前記周期的な信号に基づいて時刻をカウントし、
前記複数のレジスタの値を監視し、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけてレジスタ値記録部に記録し、
前記レジスタ値記録部を参照してデータ列の周期性を検出し、
前記模擬実行を停止する、
模擬実行方法。 - 前記レジスタ値記録部において同じ値をもつデータ列が2つ以上存在し、かつ2つのデータ列の時刻の差が、前記周期的な信号の周期の倍数であるとき、データ列の周期性を検出することを特徴とする請求項12に記載の模擬実行方法。
- 時間的に最も近い同一の値からなる2つのデータ列の時刻の差をデータ列の周期として得ることを特徴とする請求項13に記載の模擬実行方法。
- さらに、
ある時刻におけるレジスタの値を要求する要求信号を受信し、
前記レジスタ値記録部における1周期分の各データ列のうち、前記ある時刻に対応するデータ列から前記レジスタの値を取得し、
取得されたレジスタの値を出力する、
ことを特徴とする請求項12ないし14のいずれか一項に記載の模擬実行方法。 - さらに、前記論理回路モデルの記述に基づき、他のレジスタから値を決定可能な第1レジスタを検出し、
前記複数のレジスタのうち前記第1レジスタと異なるレジスタの値からなるデータ列を記録する、
ことを特徴とする請求項12ないし14のいずれか一項に記載の模擬実行方法。 - ある時刻における第1レジスタの値を要求する要求信号を受信し、
前記レジスタ値記録部における1周期分の各データ列のうち、前記ある時刻に対応するデータ列に含まれる前記他のレジスタの値を用いて前記第1レジスタの値を計算し、
計算された前記第1レジスタの値を出力する、
ことを特徴とする請求項16に記載の模擬実行方法。 - さらに、前記模擬実行が停止されている間、前記複数のレジスタのうち外部へ出力する値を格納する出力レジスタを、前記レジスタ値記録部における1周期分の前記出力レジスタの値と、前記周期的な信号または前記カウンタとに基づいて更新する、
ことを特徴とする請求項12ないし17のいずれか一項に記載の模擬実行方法。 - さらに
不規則な割込信号の入力を検出し、
前記レジスタ値記録部における1周期分の各データ列のうち前記不規則な割込信号の入力時刻に対応するデータ列によって、前記複数のレジスタのうち前記不規則な割込信号の入力に応じた割込値を格納するための割込レジスタ以外のレジスタを回復し、また、前記割込値を前記割込レジスタに格納し、
前記模擬実行の停止を解除する、
ことを特徴とする請求項12ないし18のいずれか一項に記載の模擬実行方法。 - さらに、前記論理回路モデルを解析して、第2レジスタから第1レジスタへの代入がある場合、第2レジスタを表すノードから第1レジスタを表すノードへ方向付きのアークを追加し、また、前記代入のタイミングが第3レジスタの値により決定される場合は、第3レジスタを表すノードから前記第1レジスタを表すノードへの方向付きアークを追加することにより、レジスタ間依存グラフを生成し、
前記レジスタ間依存グラフにおける強連結成分ごとに周期性の検出を行い、
前記模擬実行のうち前記周期性の検出された強連結成分に含まれるレジスタを扱う処理を停止する、
ことを特徴とする請求項12に記載の模擬実行方法。 - 周期的な信号を受信するステップと、
前記周期的な信号と複数のレジスタとを用いて動作する論理回路モデルを模擬実行するステップと、
前記周期的な信号に基づいて時刻をカウントするステップと、
前記複数のレジスタの値を監視するステップと、
前記複数のレジスタのうち少なくとも1つの値が変更されたとき、前記複数のレジスタの値からなるデータ列を前記時刻と関連づけてレジスタ値記録部に記録するステップと、
前記レジスタ値記録部を参照してデータ列の周期性を検出するステップと、
前記模擬実行を停止するステップと、
をコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007012891A JP4264110B2 (ja) | 2007-01-23 | 2007-01-23 | 模擬実行装置、方法およびプログラム |
US11/941,752 US8244513B2 (en) | 2007-01-23 | 2007-11-16 | Simulation execution apparatus and method with cyclicity detection mechanism and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007012891A JP4264110B2 (ja) | 2007-01-23 | 2007-01-23 | 模擬実行装置、方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008181227A true JP2008181227A (ja) | 2008-08-07 |
JP4264110B2 JP4264110B2 (ja) | 2009-05-13 |
Family
ID=39642114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007012891A Expired - Fee Related JP4264110B2 (ja) | 2007-01-23 | 2007-01-23 | 模擬実行装置、方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8244513B2 (ja) |
JP (1) | JP4264110B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4572981B2 (ja) * | 2008-12-16 | 2010-11-04 | コニカミノルタビジネステクノロジーズ株式会社 | カウントデータ記録装置ならびにカウントデータ記録方法およびプログラム |
JP5640790B2 (ja) * | 2011-02-10 | 2014-12-17 | 富士通株式会社 | 検証支援プログラム、検証支援装置、および検証支援方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781718A (en) * | 1994-08-19 | 1998-07-14 | Texas Instruments Incorporated | Method for generating test pattern sets during a functional simulation and apparatus |
US6473727B1 (en) * | 1998-03-06 | 2002-10-29 | Lsi Logic Corporation | Processor development systems |
US6295517B1 (en) * | 1998-04-07 | 2001-09-25 | Synopsis, Inc. | Method and apparatus for adaptively or selectively choosing event-triggered cycle-based simulation or oblivious-triggered cycle-based simulation on a cluster-by-cluster basis |
US7328429B2 (en) * | 2003-11-13 | 2008-02-05 | Intel Corporation | Instruction operand tracing for software debug |
JP2005321848A (ja) | 2004-05-06 | 2005-11-17 | Matsushita Electric Ind Co Ltd | システムシミュレーション実行プログラムおよびハードウェア記述変換プログラム |
WO2006072082A2 (en) * | 2004-12-30 | 2006-07-06 | Vast Systems Technology Corporation | Clock simulation system and method |
JP4393450B2 (ja) * | 2005-12-01 | 2010-01-06 | 株式会社東芝 | 論理回路モデル変換装置及び論理回路モデル変換プログラム |
KR101329389B1 (ko) * | 2006-02-24 | 2013-11-14 | 포항공과대학교 산학협력단 | 다중입출력 직교 주파수 다중 분할 시스템에서 반송파간의간섭 제거 방법 및, 그를 이용한 수신 장치 |
-
2007
- 2007-01-23 JP JP2007012891A patent/JP4264110B2/ja not_active Expired - Fee Related
- 2007-11-16 US US11/941,752 patent/US8244513B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8244513B2 (en) | 2012-08-14 |
US20080177524A1 (en) | 2008-07-24 |
JP4264110B2 (ja) | 2009-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101957773B (zh) | 用于多轮次动态概要分析的方法及其系统 | |
US7761272B1 (en) | Method and apparatus for processing a dataflow description of a digital processing system | |
Wolf | Behavioral intervals in embedded software: timing and power analysis of embedded real-time software processes | |
US7822591B2 (en) | Logic circuit model conversion apparatus and method thereof; and logic circuit model conversion program | |
KR102013582B1 (ko) | 혼합 모드 프로그램의 소스 코드 오류 위치 검출 장치 및 방법 | |
US20120054722A1 (en) | Trace generating unit, system, and program of the same | |
KR102161192B1 (ko) | 코어 트레이스로부터 데이터 마이닝을 하기 위한 방법 및 장치 | |
US20180129578A1 (en) | Verifying a graph-based coherency verification tool | |
Wang et al. | Accurate source-level simulation of embedded software with respect to compiler optimizations | |
Friese et al. | Generating performance models for irregular applications | |
US9880925B1 (en) | Collecting structured program code output | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
JP4264110B2 (ja) | 模擬実行装置、方法およびプログラム | |
Gottschall et al. | TEA: Time-proportional event analysis | |
US7992112B2 (en) | Hardware verification programming description generation apparatus, high-level synthesis apparatus, hardware verification programming description generation method, hardware verification program generation method, control program and computer-readable recording medium | |
WO2018032897A1 (zh) | 报文转发性能评估方法、装置和计算机存储介质 | |
Izsó et al. | MONDO-SAM: A Framework to Systematically Assess MDE Scalability. | |
JP4271072B2 (ja) | ソフトウェア検証モデル生成方法 | |
US8768658B1 (en) | Configurable enablement of operations associated with state enabled systems in a graphical environment | |
Yuan et al. | Automatic enhanced CDFG generation based on runtime instrumentation | |
CN113515348A (zh) | 一种基于时机动作流的模拟器建模方法及装置 | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム | |
Schwambach et al. | Estimating the potential speedup of computer vision applications on embedded multiprocessors | |
JP6981087B2 (ja) | 情報処理装置、方法、及びプログラム | |
JP5510274B2 (ja) | 集積回路の消費電力解析装置及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090113 |
|
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: 20090203 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090213 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120220 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130220 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140220 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |