JP2006099678A - シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム - Google Patents

シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム Download PDF

Info

Publication number
JP2006099678A
JP2006099678A JP2004287973A JP2004287973A JP2006099678A JP 2006099678 A JP2006099678 A JP 2006099678A JP 2004287973 A JP2004287973 A JP 2004287973A JP 2004287973 A JP2004287973 A JP 2004287973A JP 2006099678 A JP2006099678 A JP 2006099678A
Authority
JP
Japan
Prior art keywords
branch
simulation
level description
behavior level
line number
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
Application number
JP2004287973A
Other languages
English (en)
Other versions
JP4481783B2 (ja
Inventor
Toshimine Harada
敏峰 原田
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 JP2004287973A priority Critical patent/JP4481783B2/ja
Priority to US11/236,679 priority patent/US7523030B2/en
Publication of JP2006099678A publication Critical patent/JP2006099678A/ja
Application granted granted Critical
Publication of JP4481783B2 publication Critical patent/JP4481783B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Abstract

【課題】シミュレーション実行時、状態内の条件分岐文の実行状況を動作レベル記述のソース行で表示可能とする装置と方法の提供。
【解決手段】動作レベル記述を含むソースファイル10を入力し、動作レベル記述から有限状態マシン(FSM)構造を含むシミュレーションモデルを生成するシミュレーションモデル生成部11は、状態内の条件分岐文に対応させて識別情報(分岐ID)を付与したシミュレーションモデル12を生成し、動作レベル記述ソース行−分岐ID対応表13を生成する。シミュレーションモデルを入力しシミュレーションを行うシミュレータ14と、シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出し、動作レベル記述ソース行−分岐ID対応表13から、抽出した分岐IDに対応する動作レベル記述のソース行番号を取得し、取得した行番号の動作レベル記述のソース行を他の行と区別がつく形態で表示装置16に表示するように制御するシミュレーションモニタ15を備える。
【選択図】図1

Description

本発明は、論理回路のシミュレーション技術に関し、特に、動作レベル記述を動作合成してシミュレーションモデルを作成する方法と装置並びにコンピュータプログラム並びにシミュレーションモデルを用いてシミュレーションを実行する方法と装置並びにコンピュータプログラムに関する。
ハードウェア記述として動作レベル記述(アルゴリズム記述)を用い、動作レベル記述よりなるソースファイルを入力して動作合成し、有限状態遷移マシン(Finite State Machine)/データパスモデル記述、及び、変数/レジスタ/状態位置対応表、動作レベル記述のソース行/状態位置対応表を作成しシミュレーションモデルとして作成し、クロックレベルシミュレーションを行う技術が、本願出願人によって提案されている(例えば特許文献1参照)。
この特許文献1には、状態遷移が起こったら、現在の状態位置を取得し、行情報テーブルから状態位置に対応するソース行を取得し、実行表示ウインドウ等のGUI(Graphical User Interface)上でソース行を、図18に示すように、ハイライト表示(あるいは輝度反転)することで、動作レベル記述上での現在の実行位置を示すことができるような構成が開示されている。また動作レベル記述から、有限状態マシン(Finite State Machine)/データパスモデル記述の作成、動作レベル記述のソース行/状態位置対応表の作成等については、本願出願人による後記特許文献2の記載も参照される。
特開2001−109788号公報(第9図、第11図) 特開2003−67438号公報(第2図、第5図)
上記特許文献1、2等に記載された方法のように、動作レベル記述を含むハードウェア記述のシミュレーションにおいて、シミュレーション実行状況と、動作レベル記述ソースとの対応を利用者に認識可能とする手法は、回路設計工程等において有効である。
ところで、前記特許文献1に記載された方法においては、有限状態マシン構造のシミュレーションモデルにおいて、状態1は例えばソースファイルFile1.cの第3行、状態2は例えばソースファイルFile2.cの第4行、状態3は例えばソースファイルFile3.cの第4行といった具合に、シミュレーション実行状況と、動作レベル記述ソース行との対応を、もっぱら、状態遷移単位で行っている(特許文献1の第9図参照)。
シミュレーションモデルにおいて、遷移した状態の中に条件分岐が含まれる場合がある(例えば図18のif文参照)。そして、ハードウェア記述において、条件分岐部分にバグが潜む可能性が相対的に高いことが知られている。
よって、シミュレーション実行状況と動作レベル記述ソース行との対応を、状態遷移単位で行うのではなく、状態遷移単位よりも粒度が細い条件分岐文単位で対応をとり、利用者に認識可能たらしめることで、デバックの精度があがり、回路設計の効率化に資すること大であることを、本発明者は知見した。
さらに、本発明者は、シミュレーション実行状況と動作レベル記述ソース行との対応を状態遷移単位で管理する上記特許文献1に記載された手法に、所定の改良を施すことで、動作レベル記述に含まれる条件分岐文とシミュレーション実行状況との対応をとる機能が実現可能であることを見出した。
したがって、本発明は、本発明者の上記知見に基づき創案されたものであって、その主たる目的は、動作レベル記述を動作合成してシミュレーションモデルを生成する方法及び装置並びにシステムとプログラムにおいて、動作レベル記述に含まれる条件分岐文とシミュレーション実行状況との対応をとることを可能とする方法及び装置並びにシステムとプログラムを提供することにある。
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクト(側面)に係るシミュレーションモデル生成装置は、複数行からなる動作レベル記述を含むソースファイルを入力し、前記動作レベル記述から有限状態マシン構造を含むシミュレーションモデルを生成する合成部と、前記シミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する分岐ID管理付与部と、を備えている。
本発明に係るシミュレーションモデル生成装置においては、前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を表形式で生成する表作成部を備えている。
本発明に係るシミュレーションモデル生成装置においては、前記分岐ID管理付与部は、前記条件分岐文の前記条件が成立した場合の分岐先、及び/又は、前記条件が非成立の場合の分岐先に、分岐IDを割当てる。また、本発明においては、前記分岐ID管理付与部は、前記条件分岐文を含まない状態に対して1つの分岐IDを付与するようにしてもよい。
本発明の他のアスペクトに係るシミュレーション装置は、複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを入力しシミュレーションを実行するシミュレータと、前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を記憶した記憶部と、前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出し、前記記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得し、前記複数行からなる動作モデル記述のソースを出力装置に出力するにあたり、前記取得した行番号の前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する制御部と、を備え、シミュレーション実行時における条件の成立の有無を、前記動作レベル記述のソース行単位で、判別可能としている。
本発明に係るシミュレーション装置においては、シミュレーションの実行を停止させるブレークポイントをなす分岐IDを記憶するブレーク分岐ID記憶部をさらに備え、前記制御部は、シミュレーションの実行時、前記抽出された分岐IDが、前記ブレーク分岐ID記憶部に記憶されている分岐IDと一致したものであるか比較判定し、一致している場合には、前記シミュレーションの実行を停止するように制御する構成としてもよい。
本発明に係るシミュレーション装置においては、シミュレーションの実行時、前記分岐IDが抽出されるたびに、前記抽出された分岐IDの実行回数を累積した値を分岐ID毎に保持する分岐ID累積部をさらに備え、前記制御部は、前記記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出された分岐IDに対応する前記動作レベル記述のソース行番号を取得するとともに、前記分岐ID累積部より前記分岐IDに対応する実行回数を取得し、前記取得した行番号の動作レベル記述のソース行に対応させて前記実行回数を前記出力装置に出力する構成としてもよい。
本発明の他のアスペクトに係るシステムは、
複数行からなる動作レベル記述のソースファイルを記憶した第1の記憶部と、
前記動作レベル記述のソースの行番号との対応関係を記憶するための第2の記憶部と、
前記第1の記憶部より前記動作レベル記述のソースファイルを入力し、前記動作レベル記述から有限状態マシン構造を含むシミュレーションモデルを生成する合成部と、前記合成部によって生成された前記シミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する分岐ID管理付与部と、前記分岐IDと前記動作レベル記述のソースの行番号との対応関係を表形式で生成して前記第2の記憶部に格納する表作成部と、を含むシミュレーションモデル生成部と、
前記分岐IDが付与された前記シミュレーションモデルを入力してシミュレーションを実行するシミュレータと、
前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出し、前記第2の記憶部に記憶されている前記分岐IDと前記動作レベル記述の行番号との対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得し、前記複数行からなる動作モデル記述のソースを出力装置に出力するにあたり、前記取得した行番号の動作レベル記述のソース行を、他の行と区別がつく形態で出力する制御を行うシミュレーションモニタと、を備えている。本発明において、シミュレータは、好ましくは、サイクルベースのシミュレーションを行う。
本発明のさらに他のアスペクトに係るシミュレーションモデル生成方法は、
(a1)複数行よりなる動作レベル記述を含むソースファイルを記憶した記憶部より動作レベル記述を入力して動作合成し、有限状態マシン構造を含むシミュレーションモデルを生成する工程と、
(a2)前記生成されたシミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する工程と、
を含む。
本発明に係るシミュレーションモデル生成方法は、前記分岐IDと、前記ソースファイルの前記動作レベル記述の行番号との対応を表形式で生成する工程を含む。
本発明のさらに他のアスペクトに係るシミュレーション方法は、
(b1)複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを入力してシミュレーションを実行する工程と、
(b2)前記シミュレータの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出する工程と、
(b3)分岐IDと動作レベル記述のソース行番号との対応を記憶した記憶部を参照して、前記抽出された分岐IDに対応する前記動作レベル記述のソースの行番号を取得する工程と、
(b4)前記複数行の動作レベル記述のソースを出力装置に出力するにあたり、前記行番号に対応する前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する工程と、
を含む。
本発明のさらに他のアスペクトに係るコンピュータプログラムは、複数行よりなる動作レベル記述を含むソースファイルを記憶した記憶部を備えたコンピュータに、
(c1)前記記憶部より前記ソースファイルを入力し、前記動作レベル記述から、有限状態マシン構造を含むシミュレーションモデルを生成する処理と、
(c2)前記生成されたシミュレーションモデルの状態内の条件分岐に識別情報(「分岐ID」という)を付与する処理と、
を実行させるプログラムよりなる。
本発明のさらに他のアスペクトに係るコンピュータプログラムは、
複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを記憶した第1の記憶部と、
前記シミュレーションモデルの前記分岐IDと、前記動作レベル記述のソース行番号との対応を記憶した第2の記憶部と、を少なくとも含む記憶装置と、
出力装置と、を備えたコンピュータに、
(d1)前記第1の記憶部から前記シミュレーションモデルを入力してシミュレーションを行う処理と、
(d2)前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態内の分岐IDを抽出する処理と、
(d3)前記第2の記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号の対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得する処理と、
(d4)前記複数行からなる動作モデル記述のソースを前記出力装置に出力するにあたり、前記取得した行番号に対応する前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する処理と、
を実行させるプログラムよりなる。
本発明によれば、動作レベル記述内の条件分岐文と、シミュレーションの実行状況との対応を把握可能とすることで、回路設計のデバッグ効率を向上し、回路設計を効率化、容易化する。
また、本発明によれば、分岐ID単位のブレークポイントの設定、あるいは、分岐IDの累積実行回数を把握可能とすることで、回路設計の効率化、容易化を促進している。
さらに、本発明によれば、既存のシミュレーション・システム、コンピュータ・プログラム製品等に対して、機能を付加する形態で実施可能とされ、開発コストの増大を抑止低減しながら、デバック精度の向上を図るシステムを実現することができる。
本発明を実施するための最良の形態について説明する。図1は、本発明の一実施の形態のシミュレーション・システムの全体構成を説明するための図である。図1を参照すると、この実施の形態に係るシミュレーション・システムは、複数行からなる動作レベル記述(アルゴリズム記述)を用いてハードウェア回路を記述したソースファイル10を入力して動作合成し、有限状態マシン構造(FSM)を含むシミュレーションモデル12を生成するシミュレーションモデル生成部11を備えている。シミュレーションモデル生成部11は、シミュレーションモデルの状態内の条件分岐文に分岐IDを付与し、付与した分岐IDと動作レベル記述のソース行との対応表である動作レベル記述ソース行−分岐ID対応表13を生成する。シミュレーションモデル生成部11から出力されるシミュレーションモデル12は、状態の条件分岐文に分岐IDが付与されている。
そして、状態の条件分岐文に分岐IDが付与されたシミュレーションモデル12を入力し、好ましくはサイクルベースのシミュレーションを行うシミュレータ14を備えている。さらに、シミュレータ14によるシミュレーションの実行を監視し、状態が遷移した場合、遷移した状態と分岐IDを抽出し、動作レベル記述ソース行−分岐ID対応表13から、抽出した分岐IDに対応する動作レベル記述のソース行番号を取得する。そして動作レベル記述のソース行を、表示装置16に表示するにあたり、取得した行番号に対応する動作レベル記述のソース行をハイライト表示等して、他の行と容易に判別がつく表示形態にて出力する制御を行うシミュレーションモニタ15を備えている。なお、図1では、シミュレーションモデル生成部11が生成する変数名、レジスタ/IO対応表等は、本発明の主題に直接関係しないため、省略されている。以下実施例に即して詳細に説明する。
図2は、本発明の一実施例の構成を示す図であり、動作レベル記述からシミュレーションモデルを生成するシミュレーションモデル生成部(図1の11参照)の構成及び動作の一例を説明するための図である。図2を参照すると、本実施例のシミュレーションモデル生成部は、動作レベル記述のソースファイルを格納した記憶部101と、合成制約を記憶した記憶部102と、スケジューリング部103と、有限状態マシン(FSM)/データパス割り付け部104と、分岐ID管理付与部105と、分岐IDと動作レベル記述ソース行対応表作成部106と、生成されたシミュレーションモデルを記憶する記憶部107と、分岐IDと動作レベル記述ソース行との対応表を記憶する記憶部108と、を備えている。記憶部101、102、107、108は、同一のストレージ装置内に設けてもよいし、別々のストレージ装置であってもよい。スケジューリング部103、FSM/データパス割り付け部104は、シミュレーションモデルを自動生成する動作合成部をなしている。なお、図1のシミュレーションモデル生成部11は、定数、変数の最適化機能(不図示)と、スケジューリング機能(図2の103)と、アロケーション機能と、レジスタシェアリング機能と、HDL(Hardware Description Language)生成機能とを有した構成としてもよい。このうちレジスタシェアリング機能は、図2のFSM/データパス割り付け部104に対応しており、(1)資源制約下で用いられる複数レジスタ資源の状態遷移の繰返しをデータパス制御により制御するFSM/データパスモデルの作成、(2)変数とレジスタと状態位置との対応である変数/レジスタ/状態位置対応表の作成、(3)アルゴリズム記述のソース行とその状態位置との対応であるソース行/状態位置対応表の作成を行う(上記特許文献2第2図参照)。
図4は、動作レベル記述のソースファイルの一例を示す図である。特に制限されないが、本実施例において、動作レベル記述のシンタックスはC言語仕様にしたがう。図4において、行1から3は、入力端子の定義であり、行4は、出力レジスタの定義である。行6から17のプロセスmainにおいて、回路が動作レベルで記述されており、このうち行7から9では、ローカル変数A、B、Cが定義されている。行11では、ローカル変数A,Bに、入力端子i2、i3の値が設定され、行12から15の条件分岐文では、if文の条件(i1!=0)が成立する場合(すなわち、i1が0以外の値の場合)、C=A+10が実行され、それ以外の場合(i1が0の場合)、else文のC=B+20が実行され、行16では、レジスタo1にA+B+Cをセットしている。なお、図4に示した例は、あくまで説明のためのものであり、本発明がかかる動作レベル記述に制限されるものでないことは勿論である。
記憶部102の合成規則としては、資源制約情報を含む。資源制約において、例えば同時に使うことができる演算器(加算器)は例えば2個とされる。
スケジューリング部103は、図4の動作レベル記述(アルゴリズム記述)のソースファイルを読み込み、演算器のスケジューリングにより、図4の動作レベル記述で示される処理を、同時に使うことができる加算器2個の制約下で実現するために、演算処理を時分割し、例えば図5に示すような処理、すなわち、4クロックを要し、変数A、B、Cを要する処理を作成する。状態1乃至4は、クロック1乃至クロック4に対応しいる。状態2(ST2)において、変数Aと10を加算器(+)で加算した結果と、変数Bと20を加算器(+)で加算した結果の一方を、i1の値に基づきセレクタで選択し、状態3(ST3)では、セレクタの出力を変数Cにセットし、変数AとBの加算結果とCとを加算し、状態4(ST4)において、レジスタo1は、加算結果(A+B)+Cをラッチしている。
図6は、図5の状態1(ST1)から状態4(ST4)に関する状態間の遷移を示す状態遷移図である。図5に状態2(ST2)の中に条件分岐が設けられている。なお、図4に示した動作レベル記述から、図5に示したスケジューリングの生成の詳細については、上記特許文献2の記載が参照される。
図7は、FSMデータパス割り付け後のシミュレーションモデル(図4の動作レベル記述から動作合成されたモデル)に、分岐ID管理付与部105が、分岐IDを挿入したシミュレーションモデルの一例を示す図である。
図7において、1行目の#define文は、CM_CHANGE_APPEND(pos)が、CysimChangeList[CysimChangeTableMax++]=posよりなることを定義している。シミュレータ(図1の14)によるこのシミュレーションモデルの実行により、最初にCM_CHANGE_APPEND(0)が実行されると、リストCysimChangeListの要素0(CysimChangeList[0])に分岐IDとして0が格納されインデクッスCysimChangeTableMaxが1つインクリメントされ、再び、CM_CHANGE_APPEND(0)が実行されると、リストCysimChangeListの現在のCysimChangeTableMaxの位置に分岐IDとして0が格納されCysimChangeTableMaxが1つインクリメントされる。特に制限されないが、本実施例においては、CM_CHANGE_APPEND(pos)は、実行される分岐IDの値posが順次末尾に追加されるリスト構造CysimChangeListとして定義されている。なお、分岐IDを記憶できる構成であれば、リスト構造、配列構造に限定されるものでなく、他の任意の構成を用いることができる。
シミュレーションモデルの状態ST1からST4は、スイッチ文(SWITCH)の変数STATEの値にしたがって選択的に実行される。
状態ST1は、条件分岐文を含まないが、分岐ID管理付与部(図2の105)によって挿入されたCM_CHANGE_APPEND(0)により、分岐IDとして0が付与される。そして、状態ST1内のSTATE=ST2の実行により、状態ST1から状態ST2に遷移する。このように、本実施例においては、条件分岐を含まない状態ST1に対して1つの分岐IDが割り付けられる。
状態ST2では、”if then else”の条件分岐文において、if文の条件(i1!=0)が成立時の分岐先(Reg_C=Reg_A+10)に対して、CM_CHANGE_APPEND(1)が挿入され、条件(i1!=0)が非成立時の分岐先(Reg_C=Reg_B+20)に対して、CM_CHANGE_APPEND(2)が挿入されている。すなわち、”if then else”文の”then”と”else”の各部に分岐IDがそれぞれ1つずつ割り付けられる。if文の条件(i1!=0)が成立したときは、CM_CHANGE_APPEND(1)、条件(i1!=0)が非成立のときは、CM_CHANGE_APPEND(2)が実行される。そして、状態ST2の末尾のSTATE=ST3の実行により状態ST3への状態遷移が行われる。
状態ST3は、状態ST1と同様、条件分岐文を含まないが、分岐ID管理付与部(図2の105)によってCM_CHANGE_APPEND(3)が挿入されており、分岐IDとして3が付与される。状態ST3の末尾では、STATE=ST4の実行により状態ST4への状態遷移が行われる。
状態ST4も、状態ST1と同様、条件分岐文を含まないが、分岐ID管理付与部(図2の105)によってCM_CHANGE_APPEND(4)が挿入され、分岐IDとして4が付与される。状態ST4の末尾でSTATE=ST1の実行により状態ST1への状態遷移が行われる(図6参照)。
各状態において、CM_CHANGE_APPENDが実行されるごとに、リスト構造CysimChangeListの最後(インデックスCysimChangeTableMaxが示す位置)に、引数posで引き渡される分岐IDの値が順次格納される。したがって、例えばCysimChangeListのインデックス0からCysimChangeTableMaxまでの間に、値1のIDが10個格納されている場合、状態2の(i1!=0)が10回成立したことになる。なお、分岐IDは一義的であればよく、特に制限されないが、本実施例では、分岐IDは、シミュレーションモデルに対して、0から通番で割り付けられている。
図8は、分岐IDと動作レベル記述ソース行対応表作成部106が作成した、動作レベル記述のソース行(図4参照)と分岐IDとの対応関係の表の一例を示す図である。状態番号(StateNm)、状態ID(StateID)、条件分岐ID(CondID)、ソースの行(Source:line)の対応が一覧が表形式で作成される。
図8を参照すると、状態ST1は、割り付けられた条件分岐ID(CondID)が0であり、対応するソースの行はmain.bdlの11行目(図4参照)である。状態ST2において、割り付けられた条件分岐IDは1であり、対応するソースの行はmain.bdlの12、13行目であり、条件分岐ID=2に対応する、ソース行はmain.bdlの14、15行目である。状態ST3は、割り付けられた条件分岐IDが3であり、対応するソース行はmain.bdlの16行目である。状態ST4は、割り付けられた条件分岐IDが4であり、対応するソース行はmain.bdlの16行目である。
上記した本実施例のシミュレーションモデル生成部(図1の11)の各処理は、コンピュータで実行されるプログラムにより実現してもよい。
以上、シミュレーションモデルの生成について説明した。次に、生成されたシミュレーションモデルを用いてシミュレーションを行うシミュレーション手法について説明する。
図3は、本発明の一実施例のシミュレーションの手順を示す流れ図であり、図1のシミュレータ14とシミュレーションモニタ15による処理手順を表している。
図3を参照して、本発明の一実施例のシミュレーションについて説明する。サイクルベースのシミュレータ(図1の14)によりクロックベースのシミュレーションを実行する(ステップS11)。シミュレーションモニタ(図1の15)は、シミュレーションの実行結果を監視し、またシミュレーションの起動・停止/再開等を制御する。
そして、シミュレーションモデルを実行した結果、状態遷移が起こった場合(ステップS12のY分岐)、シミュレーションモニタ(図1の15)は、該状態と分岐IDを抽出し、抽出した分岐IDを記憶部109(「分岐ID記憶部」ともいう)に格納する(ステップS13)。なお、シミュレーションモニタ(図1の15)は、図7に示したシミュレーションモデルの変数STATEの値を監視し、変数STATEの値の変化を検出した場合、ステップS12において、状態遷移が起こったことを認識する。この場合、遷移先の状態は、変数STATEにあらたに設定された値である。また抽出される分岐IDは、状態内で実行されるCM_CHANGE_APPEND(pos)の引数posの値に対応する。
次に、シミュレーションモニタ(図1の15)は、動作レベル記述ソース行と分岐ID対応表を記憶した記憶部108(「動作レベル記述ソース行−分岐ID対応表記憶部」ともいう)を検索して、記憶部109に保持されている分岐IDに対応するソース行番号を検索して取得する。表示装置(図1の16)の画面上に、分岐IDに対応するソース行を、ハイライト表示(輝度反転表示)する(ステップS14)。以上の処理を、シミュレーションが終了するまで行う(ステップS15)。
例えば図7の状態ST1からST2へ遷移し、CM_CHANGE_APPEND(1)が実行されると(分岐ID=1)、状態ST2と、分岐ID=1が抽出され、図8に示した表から、分岐ID=1は、動作レベル記述(図4参照)のソースの12、13行に対応していることがわかる。よって、表示装置(図1の16)の画面(あるいはウィンドウ)には、図9に示すように、動作レベル記述のソースの行として第12行と第13行が、ハイライト表示される。
本実施例において、抽出された分岐IDに対応するソース行の表示は、他の行と区別がつくものであればよく、当該行を、輝度反転表示、他と区別するカラー表示としてもよく、あるいは所定の記号を付して表示するようにしてもよい。なお、本発明において、抽出された分岐IDに対応するソース行を、他の行と区別がつく形態で出力する場合、出力デバイスは、表示装置に制限されるものでなく、印刷装置、ファイル装置等であってもよいことは勿論である。
このように、本実施例によれば、シミュレーション実行下での条件分岐に対応させて動作レベル記述を表示することができるため、デバッグ、動作検証等に有効である。
本発明の比較例として上記特許文献1に記載されたシステムのハイライト表示例を、図18に示す。シミュレーションで状態ST1から状態STに遷移した場合、図18に示すように、状態単位での表示であり、このため、if文の条件(i1!=0)が成立しているのか、あるいは、該条件(i1!=0)が不成立でelse文が実行されたのかについての情報を、画面表示結果から得ることはできない。
本発明の一実施例についてさらに説明する。図10は、本発明の一実施例の動作レベル記述の別の例を示す図であり、条件分岐が入れ子構造となっている。すなわち、if文の条件(i1!=0)が成立した場合、さらに入れ子のif文の条件(i4!=0)の成立の有無が判定される。図11は、図10の動作レベル記述を、シミュレーションモデル生成部(図1の11)により動作合成して得られたシミュレーションモデル(分岐ID挿入済み)の一例を示す図である。なお、分岐IDは、図7と同様、CM_CHANGE_APPEND(pos)によって定義されている。
図11を参照すると、状態ST2において、if文の条件(i1!=0)が成立し、且つ(i4!=0)が成立した場合、CM_CHANGE_APPEND(1)が実行され分岐IDとして値1がCysimChangeListの末尾に登録され、(i1!=0)が成立し、且つ(i4!=0)が不成立の場合、CM_CHANGE_APPEND(2)が実行され分岐IDとして値2がCysimChangeListの末尾に登録され、if文の条件(i1!=0)が不成立の場合、CM_CHANGE_APPEND(3)が実行され分岐IDとして値3がCysimChangeListの末尾に登録される。条件分岐を出たところでCM_CHANGE_APPEND(4)が実行され分岐IDとして値4がCysimChangeListの末尾に登録される。状態ST1、ST3、ST4では、条件分岐文はないが、分岐IDとして0、5、6がそれぞれ割り付けられており、各状態に遷移すると対応する分岐IDの値がCysimChangeListの末尾に登録される。図12は、図10の動作記述ソース行と分岐IDの対応表を示す図である。
シミュレータ(図1の14)が、図11のシミュレーションモデルを実行し、状態ST1からST2への遷移において、分岐ID=2、分岐ID=4、すなわち、動作レベル記述のソースの14、15行目と、動作レベル記述の18行目が成立した場合、図13に示すように、ソース表示箇所が、同時に、複数箇所表示される。
次に、本発明の第2の実施例について説明する。図14は、本発明の第2の実施例のシミュレーションの手順を示す図である。なお、本実施例のシステムの基本構成は、図1に示した構成とされる。本発明の第2の実施例では、分岐ID単位でのブレークポイントの設定/解除を可能としている。
図14を参照すると、シミュレーションが実行され(ステップS21)、状態の遷移が起こると(ステップS22のY分岐)、シミュレーションモニタ(図1の15)は、状態と分岐IDを抽出し、分岐IDを記憶部109に保持し、分岐IDに対応したソース行のハイライト表示等が行われる(ステップS24)。ここまでの処理は、前記実施例と同様である。
本実施例では、シミュレーションを停止させたい分岐IDを、ブレーク分岐ID記憶部110に予めGUI(Graphical User Interface)等を介して設定登録しておく。該分岐IDのブレークポイントを解除するには、GUI等を介して、ブレーク分岐ID記憶部110から当該分岐IDを削除すればよい。
分岐IDに対応したソース行を表示した後、シミュレーションモニタ(図1の15)は、ステップS23で抽出された分岐IDが、ブレーク分岐ID記憶部110に予め記憶設定されている分岐IDと一致するか否か比較判定し(ステップS25)、一致する場合には、当該分岐IDをブレークポイントとして、シミュレーションを一旦停止(ブレーク)する。そして、必要に応じて変数、レジスタ等の内容のダンプ等の解析が行われる。一方、ステップS25で、抽出分岐IDが、ブレーク分岐IDと一致しない場合には、シミュレーションが終える場合以外(ステップS26のN分岐)、ステップS21からの処理を続ける。本実施例において、ブレークポイント間(例えば分岐ID毎に)をステップ実行するようにしてもよいことは勿論である。
次に、本発明の第3の実施例について説明する。図15は、本発明の第3の実施例のシミュレーションの処理手順を示す図である。なお、本実施例のシステムの基本構成は、図1に示した構成とされる。本発明の第3の実施例では、指定された条件分岐ID単位での実行の回数を累算しておき、当該分岐がシミュレーション中何回実行されたかを表示できるようにしている。シミュレータ(図1の14)によるシミュレーションモデルのシミュレーションが実行され(ステップS31)、シミュレーションモニタ(図1の15)は該シミュレーションの実行を監視し、状態の遷移が起こると(ステップS32のY分岐)、シミュレーションモニタが状態と分岐IDを抽出し(ステップS33)、分岐IDを記憶部109に保持し、ソース行のハイライト表示(ステップS34)が行われることは、前記実施例と同様である。
本実施例では、ステップS33で抽出された分岐IDの回数を1つインクリメントして、記憶部よりなる分岐ID累積部111に累積する処理が行われる。
図16は、分岐ID累積部111の内容の一例を示す図である。分岐ID累積部111には、分岐IDに対応して累積実行回数が格納される。
例えば図11に示したシミュレーションモデルを実行すると、リストCysimChangeListにおいてインデクス0からCysimChangeTableMaxまでの要素に分岐IDの値が格納されている。したがって、リストCysimChangeListに格納されている分岐IDの個数を分岐IDの値0、1、2、3、4、5、6のそれぞれについて集計し、表形式に出力することで、図16に示した分岐ID累積部111の内容を得ることができる。
そして、本実施例においては、図15のステップS34において、例えば図17に示すように、分岐IDに対応する動作レベル記述ソース(ハイライト表示される)の行番号の脇に、当該分岐IDの累積実行回数を表示する。
なお、シミュレーション終了時等に、分岐IDごとに累積した実行回数を、シミュレーションモデル中のすべての分岐IDに対応する動作レベル記述ソースの行に対して表示するようにしてもよい。また、本発明の第2及び第3の実施例を組み合わせてもよいことは勿論である。なお、前記第2、第3の実施例で説明したシミュレータ14とシミュレーションモニタ15の処理は、コンピュータ上で実行されるプログラムにより実現するようにしてもよい。
以上本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施の形態のシステム構成を示す図である。 本発明の一実施例のシミュレーションモデルの作成を示す図である。 本発明の一実施例のシミュレーション実行手順を示す流れ図である。 本発明の一実施例の動作レベル記述(ソースファイル)の一例を示す図である。 図4から生成されたスケジューリングの一例を示す図である。 図5の状態遷移の一例を示す図である。 本発明の一実施例におけるシミュレーションモデルの一例を示す図である。 本発明の一実施例における動作レベル記述ソース行ー分岐ID対応表の一例を示す図である。 本発明の一実施例におけるソース表示の一例を示す図である。 本発明の一実施例の動作レベル記述のソースの別の例を示す図である。 本発明の一実施例におけるシミュレーションモデルの別の例を示す図である。 本発明の一実施例における動作レベル記述ソース行ー分岐ID対応表の別の例を示す図である。 本発明の一実施例におけるソース表示の別の例を示す図である。 本発明の第2の実施例のシミュレーション実行手順を示す流れ図である。 本発明の第3の実施例のシミュレーション実行手順を示す流れ図である。 本発明の第3の実施例の分岐ID累積保存例を示す図である。 本発明の第3の実施例におけるソース表示例を示す図である。 比較例として特許文献1のソース表示例を示す図である。
符号の説明
10 動作レベル記述ソースファイル
11 シミュレーションモデル生成部
12 シミュレーションモデル
13 動作レベル記述ソース行−分岐ID対応表
14 シミュレータ
15 シミュレーションモニタ
16 表示装置
101 動作レベル記述のソースファイルの記憶部
102 合成制約の記憶部
103 スケジューリング部
104 FSM/データパス割り付け部
105 分岐ID管理付与部
106 分岐IDと動作レベル記述ソース行対応表作成部
107 シミュレーションモデルの記憶部
108 動作レベル記述ソース行−分岐ID対応表記憶部
109 分岐ID記憶部
110 ブレーク分岐ID記憶部
111 分岐ID累積部

Claims (22)

  1. 複数行からなる動作レベル記述を含むソースファイルを入力し、前記動作レベル記述から有限状態マシン構造を含むシミュレーションモデルを生成する合成部と、
    前記シミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する分岐ID管理付与部と、
    を備えている、ことを特徴とするシミュレーションモデル生成装置。
  2. 前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を表形式で生成する表作成部を備えている、ことを特徴とする請求項1記載のシミュレーションモデル生成装置。
  3. 前記分岐ID管理付与部は、前記条件分岐文の前記条件が成立した場合の分岐先、及び/又は、前記条件が非成立の場合の分岐先に、分岐IDを割当てる、ことを特徴とする請求項1記載のシミュレーションモデル生成装置。
  4. 前記分岐ID管理付与部は、前記条件分岐文を含まない状態に対して1つの分岐IDを付与する、ことを特徴とする請求項1記載のシミュレーションモデル生成装置。
  5. 前記シミュレーションモデルに付与される分岐IDは、前記シミュレーションモデルの実行時、前記分岐IDが挿入された箇所が実行されるたびに、前記分岐IDが追加格納される記憶構造として定義されている、ことを特徴とする請求項1記載のシミュレーションモデル生成装置。
  6. 複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを入力しシミュレーションを実行するシミュレータと、
    前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を記憶した記憶部と、
    前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出し、前記記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得し、前記複数行からなる動作モデル記述のソースを出力装置に出力するにあたり、前記取得した行番号の前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する制御部と、
    を備えている、ことを特徴とするシミュレーション装置。
  7. シミュレーションの実行を停止させるブレークポイントをなす分岐IDを記憶するブレーク分岐ID記憶部をさらに備え、
    前記制御部は、シミュレーションの実行時、前記抽出された分岐IDが、前記ブレーク分岐ID記憶部に記憶されている分岐IDと一致したものであるか比較判定し、一致している場合には、前記シミュレーションの実行を停止するように制御する、ことを特徴とする請求項6記載のシミュレーション装置。
  8. シミュレーションの実行時、前記分岐IDが抽出されるたびに、前記抽出された分岐IDの実行回数を累積した値を分岐ID毎に保持する分岐ID累積部をさらに備え、
    前記制御部は、前記記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出された分岐IDに対応する前記動作レベル記述のソース行番号を取得するとともに、前記分岐ID累積部より前記分岐IDに対応する実行回数を取得し、前記取得した行番号の動作レベル記述のソース行に対応させて前記実行回数を前記出力装置に出力する、ことを特徴とする請求項6記載のシミュレーション装置。
  9. 複数行からなる動作レベル記述のソースファイルを記憶した第1の記憶部と、
    前記動作レベル記述のソースの行番号との対応関係を記憶するための第2の記憶部と、
    前記第1の記憶部より前記動作レベル記述のソースファイルを入力し、前記動作レベル記述から有限状態マシン構造を含むシミュレーションモデルを生成する合成部と、前記合成部によって生成された前記シミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する分岐ID管理付与部と、前記分岐IDと前記動作レベル記述のソースの行番号との対応関係を表形式で生成して前記第2の記憶部に格納する表作成部と、を含むシミュレーションモデル生成部と、
    前記分岐IDが付与された前記シミュレーションモデルを入力してシミュレーションを実行するシミュレータと、
    前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出し、前記第2の記憶部に記憶されている前記分岐IDと前記動作レベル記述の行番号との対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得し、前記複数行からなる動作モデル記述のソースを出力装置に出力するにあたり、前記取得した行番号の動作レベル記述のソース行を、他の行と区別がつく形態で出力する制御を行うシミュレーションモニタと、
    を備えている、ことを特徴とするシミュレーション・システム。
  10. 前記シミュレーションモデルに付与される分岐IDは、前記シミュレーションモデルの実行時、前記分岐IDが挿入された箇所が実行されるたびに、前記分岐IDが追加格納される記憶構造として定義されている、ことを特徴とする請求項9記載のシミュレーション・システム。
  11. シミュレーションの実行を停止させるブレークポイントをなす分岐IDを記憶するブレーク分岐ID記憶部をさらに備え、
    前記シミュレータによるシミュレーションの実行時、前記シミュレーションモニタは、前記抽出された分岐IDが、前記ブレーク分岐ID記憶部に記憶されている分岐IDと一致したものであるか比較判定し、一致している場合には、前記シミュレータによるシミュレーションの実行を停止するように制御する、ことを特徴とする請求項9記載のシミュレーション・システム。
  12. シミュレーションの実行時、前記分岐IDが抽出されるたびに、前記分岐IDの実行回数を累積した値を分岐ID毎に保持する分岐ID累積部をさらに備え、
    前記シミュレーションモニタは、前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出された分岐IDに対応する前記動作レベル記述のソース行番号を取得するとともに、前記分岐ID累積部より前記分岐IDに対応する実行回数を取得し、前記取得した行番号の動作レベル記述のソース行に対応させて、前記実行回数を前記出力装置に出力する、ことを特徴とする請求項9記載のシミュレーション・システム。
  13. コンピュータを用いてシミュレーションモデルを生成する方法であって、
    複数行よりなる動作レベル記述を含むソースファイルを記憶した記憶部より動作レベル記述を入力して動作合成し、有限状態マシン構造を含むシミュレーションモデルを生成する工程と、
    前記生成されたシミュレーションモデルの状態内の条件分岐文に対応させて識別情報(「分岐ID」という)を付与する工程と、
    を含む、ことを特徴とするシミュレーションモデル生成方法。
  14. 前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を表形式で生成し記憶部に格納する工程を含む、ことを特徴とする請求項13記載のシミュレーションモデル生成方法。
  15. 複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを入力してシミュレーションを実行する工程と、
    前記シミュレータの実行を監視し、状態が遷移した場合、遷移した状態中の分岐IDを抽出する工程と、
    分岐IDと動作レベル記述のソース行番号との対応を記憶した記憶部を参照して、前記抽出された分岐IDに対応する前記動作レベル記述のソースの行番号を取得する工程と、 前記複数行の動作レベル記述のソースを出力装置に出力するにあたり、前記行番号に対応する前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する工程と、
    を含む、ことを特徴とするシミュレーション方法。
  16. シミュレーションの実行を停止させるブレークポイントをなす分岐IDを記憶部に予め設定しておき、
    シミュレーションの実行時、前記抽出された分岐IDが、前記ブレークポイントとして記憶されている分岐IDと一致したものであるか比較判定し、一致している場合には、前記シミュレーションの実行を停止するように制御する工程を含む、ことを特徴とする請求項15記載のシミュレーション方法。
  17. シミュレーションの実行時、前記分岐IDが抽出されるたびに、前記分岐IDの実行回数を累積し、
    前記記憶部に記憶されている、前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出された分岐IDに対応する前記動作レベル記述のソース行番号を取得するとともに、前記分岐IDに対応する実行回数を取得し、前記取得した行番号の動作レベル記述のソースに対応させて前記実行回数を表示する、ことを特徴とする請求項15記載のシミュレーション方法。
  18. 複数行よりなる動作レベル記述を含むソースファイルを記憶した記憶部を備えたコンピュータに、
    前記記憶部より前記ソースファイルを入力し、前記動作レベル記述から、有限状態マシン構造を含むシミュレーションモデルを生成する処理と、
    前記生成されたシミュレーションモデルの状態内の条件分岐に識別情報(「分岐ID」という)を付与する処理と、
    を実行させるプログラム。
  19. 請求項18記載のプログラムにおいて、
    前記分岐IDと、前記動作レベル記述のソースの行番号との対応関係を表形式で生成する処理を、前記コンピュータに実行させるプログラム。
  20. 複数行からなる動作モデル記述から動作合成され有限状態マシン構造を含むシミュレーションモデルであって、状態内の条件分岐文に対応して識別情報(「分岐ID」という)が付与されたシミュレーションモデルを記憶した第1の記憶部と、
    前記シミュレーションモデルの前記分岐IDと、前記動作レベル記述のソース行番号との対応を記憶した第2の記憶部と、を少なくとも含む記憶装置と、
    出力装置と、を備えたコンピュータに、
    前記第1の記憶部から前記シミュレーションモデルを入力してシミュレーションを行う処理と、
    前記シミュレーションの実行を監視し、状態が遷移した場合、遷移した状態内の分岐IDを抽出する処理と、
    前記第2の記憶部に記憶されている前記分岐IDと前記動作レベル記述のソース行番号の対応関係から、前記抽出した分岐IDに対応する前記動作レベル記述のソース行番号を取得する処理と、
    前記複数行からなる動作モデル記述のソースを前記出力装置に出力するにあたり、前記取得した行番号に対応する前記動作レベル記述のソース行を、他の行と区別がつく形態で出力する処理と、
    を実行させるプログラム。
  21. 請求項20記載のプログラムにおいて、
    シミュレーションの実行を停止させるブレークポイントをなす分岐IDを予めブレーク分岐ID記憶部に設定しておき、
    シミュレーションの実行時、前記抽出された分岐IDが、前記ブレークポイントとして前記ブレーク分岐ID記憶部に記憶されている分岐IDと一致したものであるか比較判定し、一致している場合には、前記シミュレーションの実行を停止するように制御する処理を、前記コンピュータに実行させるプログラム。
  22. 請求項20記載のプログラムにおいて、
    シミュレーションの実行時、前記分岐IDが抽出されるたびに、前記分岐IDの実行回数を分岐IDごとに累積する処理と、
    前記分岐IDと前記動作レベル記述のソース行番号との対応関係から、前記抽出された分岐IDに対応する前記動作レベル記述のソース行番号を取得するとともに、前記分岐IDに対応する実行回数を取得し、前記取得した行番号の動作レベル記述のソース行に対応させて、前記実行回数を前記出力装置に出力する処理を、前記コンピュータに実行させるプログラム。
JP2004287973A 2004-09-30 2004-09-30 シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム Expired - Fee Related JP4481783B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004287973A JP4481783B2 (ja) 2004-09-30 2004-09-30 シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム
US11/236,679 US7523030B2 (en) 2004-09-30 2005-09-28 Simulation system and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004287973A JP4481783B2 (ja) 2004-09-30 2004-09-30 シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム

Publications (2)

Publication Number Publication Date
JP2006099678A true JP2006099678A (ja) 2006-04-13
JP4481783B2 JP4481783B2 (ja) 2010-06-16

Family

ID=36100337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004287973A Expired - Fee Related JP4481783B2 (ja) 2004-09-30 2004-09-30 シミュレーションモデル作成装置及びシミュレーション装置とシステム並びに方法とプログラム

Country Status (2)

Country Link
US (1) US7523030B2 (ja)
JP (1) JP4481783B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243044A (ja) * 2007-03-28 2008-10-09 Toshiba Corp ハイブリッドモデルシミュレーション装置
JP2011237890A (ja) * 2010-05-06 2011-11-24 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083123A1 (en) * 2009-10-05 2011-04-07 Microsoft Corporation Automatically localizing root error through log analysis
US10067854B2 (en) * 2016-10-25 2018-09-04 Xilinx, Inc. System and method for debugging software executed as a hardware simulation
US11537769B2 (en) * 2020-05-12 2022-12-27 Renesas Electronics Corporation Simulator and simulation method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL119914A (en) * 1996-12-25 2000-06-29 Emultek Ltd Device for implementing hierarchical state charts and methods and apparatus useful therefor
JP2001109788A (ja) * 1999-10-12 2001-04-20 Nec Corp シミュレーションモデル、その生成方法、シミュレーション方法及びその記録媒体
JP2003030262A (ja) * 2001-07-19 2003-01-31 Hitachi Ltd Ipの仕様と回路の比較結果の認定を特徴とするip認定方法、および前記認定方法により出荷されたip
JP3779651B2 (ja) 2002-06-21 2006-05-31 Necエレクトロニクス株式会社 シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体
JP3974048B2 (ja) * 2003-02-06 2007-09-12 株式会社東芝 設計検証システム、設計検証方法及び設計検証プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008243044A (ja) * 2007-03-28 2008-10-09 Toshiba Corp ハイブリッドモデルシミュレーション装置
JP2011237890A (ja) * 2010-05-06 2011-11-24 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法

Also Published As

Publication number Publication date
JP4481783B2 (ja) 2010-06-16
US7523030B2 (en) 2009-04-21
US20060069538A1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
US9335977B2 (en) Optimization of a data flow program based on access pattern information
US9075624B2 (en) Compilation of system designs
US20040226006A1 (en) Program slicing for codesign of embedded systems
JP2006190209A (ja) 検証支援プログラム、記録媒体、検証支援装置、および検証支援方法
JP4908073B2 (ja) サービスベースソフトウェア設計支援方法及びそのための装置
US8527254B2 (en) Simulator engine development system and simulator engine development method
Abel et al. MeMin: SAT-based exact minimization of incompletely specified Mealy machines
US7523030B2 (en) Simulation system and computer program
CN107153615A (zh) 软件测试的方法及系统、服务终端
US8418119B2 (en) Logical circuit netlist reduction and model simplification using simulation results containing symbolic values
Gunter et al. Path exploration tool
US8458110B2 (en) Verification support apparatus, verification support method, and computer product
JP2007287025A (ja) 画面遷移プログラム生成方法及び装置
JP5229223B2 (ja) ワークフロー定義変更プログラムおよびワークフロー定義変更方法
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
JP6528433B2 (ja) 設計支援装置、および設計支援方法
US20070250803A1 (en) High-level synthesis method and high-level synthesis system
JP3930255B2 (ja) システム仕様情報処理装置、システム仕様情報処理方法及びプログラム
JP4891807B2 (ja) 高位合成装置および高位合成方法
US8694293B2 (en) Simulation support method, computer-readable storage medium storing simulation support program, and simulation support apparatus
JP2003067438A (ja) シミュレーションモデルの生成方法及びシミュレーション方法及びその記録媒体
JP2002222228A (ja) 高位合成システム及び高位合成方法
JP5444784B2 (ja) コンテキスト作成プログラム、コンパイラ装置およびコンテキスト作成方法
JP2010009279A (ja) デバッグ方法およびデバッグプログラム
JP2002229785A (ja) Gui設計支援装置および方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

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: 20100223

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: 20100318

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4481783

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees