JP4215876B2 - デジタルシステムに対するシミュレーションモデル - Google Patents
デジタルシステムに対するシミュレーションモデル Download PDFInfo
- Publication number
- JP4215876B2 JP4215876B2 JP31526198A JP31526198A JP4215876B2 JP 4215876 B2 JP4215876 B2 JP 4215876B2 JP 31526198 A JP31526198 A JP 31526198A JP 31526198 A JP31526198 A JP 31526198A JP 4215876 B2 JP4215876 B2 JP 4215876B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- interface
- design
- level
- state machine
- 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
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明はデジタルシステムをシミュレートするための方法に関する。本発明はこれに限定されるものではないが、特にコンピュータハードウエアの設計をシミュレートすることに関する。ただし、本発明は他のシステム、例えば、複合ソフトウエアシステムをシミュレートするために用いることもできる。
【0002】
【従来の技術】
デジタルシステムの設計を、互いに信号を介して通信する複数の機能ユニットとして規定することを可能にする設計言語が知られており、このような設計言語の一つとして、VHDL[ANSI/IEEE標準1076]がある。
【0003】
このような言語を用いることで、機能ユニットを複合モデルのさまざまな異なるレベルにて規定することができる。通常は、各機能ユニットは、最初は、高い設計レベルにおいて非常に抽象的に定義され、その後、設計の発展とともに、次々と、より低い設計レベルにおいてより詳細に定義される。ところで、しばしば異なるユニットの設計が、異なる速度にて進展することが見かけられる。例えば、コンピュータの設計においては、I/Oユニットを設計する仕事は、CUP又は記憶ユニットを設計する仕事より簡単であり、このため、I/Oユニットのより低い(詳細な)レベルのモデルが、他のユニットに対する同程度に詳細なモデルの前に達成される。このために、異なるレベルの異なるユニットから構成されるシミュレーションモデルをいかにしてランするかという問題が発生する。
【0004】
この問題を解決するための一つの方法においては、異なるレベル間の信号を翻訳するための翻訳プログラムが用いられる。例えば、設計がレベル1のユニットAとレベル2のユニットBから構成される場合は、翻訳プログラムを用いて、ユニットAからの出力信号をレベル2に翻訳することで、ユニットAがユニットBと通信できるようにされる。
【0005】
【発明が解決しようとする課題】
ただし、これら翻訳プログラムは手作業にて作成する必要があり、このプログラムを書いたり検証するためには多大な労力が必要となる。実際、このような翻訳プログラムを書いたり検証するためには、しばしばそのユニット自身に対して要求されるよりも多くの労力が必要となる。
【0006】
本発明の一つの目的は、この問題を克服することができるコンピュータ化された複数の混ざったレベルを含むシミュレーションモデルを提供することにある。
【0007】
【課題を解決するための手段】
本発明によって、デジタルシステムに対するコンピュータ化されたシミュレーションモデルが提供される。このモデルは複数の機能ユニット及び前記機能ユニット間でメッセージを送信するための複数のインターフェースユニットを具備している。また、各インターフェースユニットは、メッセージをこの設計のより高い又はより低いレベルに自動的に組み立てる又は分解するための機構を具備している。
【0008】
各インターフェースユニットは、好ましくはそのインターフェースによって設計の複数の異なるレベルをパスされるメッセージを定義するインターフェース定義をコンパイルすることによっで生成される。
【0009】
【発明の実施の形態】
以下、本発明による一つのシミュレーションモデルを一例として図面を参照しながら説明する。
【0010】
(概要)
本発明のこの実施例は、VHDL+と呼ばれるシミュレーション言語を利用するが、この言語は、周知のVHDL言語の拡張である。VHDL言語では、モデルは、複数の機能ユニットと、これら機能ユニット間でパスされる信号として規定される。他方、VHDL+においては、モデルは、インターフェースを介して互いに通信し合うセットの機能ユニットであるものとみなされ、これらインターフェースは、これら機能ユニット間をパスされるメッセージを定義する宣言形定義として規定される。
【0011】
図1は、モデル定義10を示すが、これは、ここで説明する実施例においては、VHDL+言語によって記述される。このモデル定義10が、コンパイラ11によって処理され、コンパイル(翻訳)されたモデル12が生成される。ここで、コンパイルされたモデル12は、この実施例においては従来のVHDL言語にて記述される。こうしてコンパイルされたモデル12は従来のVHDLライブラリ13にリンクされる。次に、コンパイルされたモデル12は、シミュレータ14上でランされるが、このシミュレータ14は、この実施例においては、従来のVHDLシミュレータである。
【0012】
本発明のこの実施例においてはVHDL及びVHDL+言語が用いられるが、理解できるように他の言語を用いることもできる。例えば、コンパイラは、C言語又はC++言語の他の言語にてコンパイルされたモデル12を記述することもできる。
【0013】
図1に示すように、モデル定義10は、複数のユニット定義15及び複数のインターフェース定義16から構成される。ユニット定義15は、複数の機能ユニットを規定し、他方、インターフェース定義は、インターフェースをこれらユニット間でパスされるメッセージとして規定する。
【0014】
(一例)
図2は、コンパイルされたモデル定義の一部分を示す。これは、3つの機能ユニットU1、U2、U3を具備し、これらがインターフェースユニットI1によって相互接続される。このケースにおいては、機能ユニットU1がメッセージを送信し、このメッセージが、機能ユニットU2と機能ユニットU3の両方によって受信されるものと想定される。さらに、これら機能ユニットU1、U2、U3は、全て異なる設計レベルにて定義されているものと想定されるが、このことが図面においては、各機能ユニットの垂直軸上の位置によって示される。機能ユニットU2は、最も高い(最も抽象的な)設計レベルにて定義されており、各メッセージを16個のワードのシーケンスとして扱う。機能ユニットU1は、次に高い設計レベルにて定義されており、各ワードを2個のバイトのシーケンスからなるものとみなし、各メッセージを32個のバイトのシーケンスとして扱う。機能ユニットU3は、最も低い(最も詳細な)設計レベルにて定義されており、各バイトが2個のニブルからなるものとみなし、各メッセージを64個のニブルのシーケンスとして扱う。
【0015】
後に説明するように、インターフェースユニットI1は、これら異なる設計レベルを考慮してメッセージを組み立てたり、分解することができる。より詳細には、この実施例においては、インターフェースユニットI1は、機能ユニットU1からのバイト本位のメッセージを機能ユニットU2に対応するワード本位のメッセージに組み立て、また、これを機能ユニットU3に対応するニブル本位のメッセージに分解する。
【0016】
図3は、インターフェースユニットI1に対するVHDL+にて記述されたインターフェース定義を示す。このインターフェース定義は、BYTE(バイト)メッセージを2個のニブルメッセージ、つまり、NIBBLE(B(0))、NIBBLE(B(1))の複合メッセージとして定義し、WORD(ワード)メッセージを、2個のバイトメッセージ、つまり、BYTE(W(0))、BYTE(W(1))の複合メッセージとして定義する。これら全てのメッセージは、送信部分Sから受信部分Rに流れるものとして規定される。
【0017】
図4は、機能ユニットU1〜U3に対するVHDL+にて記述されたユニット定義を示す。第一の定義は、機能ユニットU1がメッセージをインターフェースユニットI1の送信部分Sにメッセージを送信すべきことと、各メッセージが32個のバイトのストリングから構成されるべきことを示す。第二の定義は、機能ユニットU2がインターフェースユニットI1の受信部分Rからメッセージを受信すべきことと、各メッセージが16個のワードのストリングから構成されるべきことを示す。第三の定義は、機能ユニットU3がインターフェースユニットI1の受信部分Rからメッセージを受信すべきことと、各メッセージが64個のニブルのストリングから構成されるべきことを示す。
【0018】
(インターフェースユニット)
図5は、図2のインターフェースユニットI1の構造をより詳細に示す。
【0019】
このインターフェースユニットは、トップレベルに位置するプロトコルコアモジュール51と、インターフェースの各定義レベルに対応する他の複数のコアモジュール52〜54を含む。この実施例においては、これらコアモジュールは、ワードコアモジュール52、バイトコアモジュール53、ニブルコアモジュール54から構成される。これらコアモジュール52〜54は、自身と関連するアービタ(arbiters)55〜57を持ち、これらアービタは、外部リクエスト(REQext)及び内部リクエスト(REQint)を受信する。
【0020】
これら外部リクエストは、メッセージをこのインターフェースに送信した機能ユニットから送られる。この実施例においては、機能ユニットU1は、外部リクエストをバイトレベルのアービタ56に送信する。各アービタは、一つの外部リクエスト入力のみを持ち、複数の機能ユニットがメッセージをインターフェースに送信した場合は、他のアービタ(図示せず)を用いて、これら外部リクエストが1つに低減される。
【0021】
内部リクエストは、より高い設計レベルのコアモジュールから送られる。例えば、バイトレベルのアービタ56は、ワードコアモジュール52からのリクエストを受信する。一つのアービタに対して複数のリクエスト入力を設けることも考えられる。例えば、インターフェースが他のコアモジュール(図示せず)を具備し、これらコアモジュールもニブルコアモジュール54にリクエストを送ることも考えられる。
【0022】
外部リクエストは、2つの値、つまり、Decompose(分解)又はInert(不活性)のいずれか1つを取る。Decomposeリクエストは、送信ユニット(この実施例においては機能ユニット1)からのデータ項目をインターフェースに送信するリクエストである。このリクエストには、送信されるべきデータ項目(この実施例においてはデータのバイト)が付加される。Inert値は、単に、Decomposeリクエストの不在を示す。
【0023】
内部リクエストは、3つの値、つまり、Compose(組立)、Decompose(分解)、Inert(不活性)のいずれか一つを取る。Composeリクエストは、要求コアモジュールがより高い設計レベルのデータ項目を組み立てる準備ができたことを示し、受信コアモジュールに対して次のより低い設計レベルのデータ項目をこの組み立てのために供給することをリクエストする。例えば、ワードコアモジュール52からバイトコアモジュール53に送られるComposeリクエストは、ワードコアモジュール52がバイトコアモジュール53からのバイトを、ワードに組み立てるために受信する準備が整ったことを示す。Decomposeリクエストは、要求コアモジュールが、より高い設計レベルのデータ項目を複数のより低い設計レベルの項目に分解していることを示し、このリクエストには、より低い設計レベルのデータ項目の一つが付加される。例えば、バイトコアモジュール53からニブルコアモジュール54に送信されるDecomposeリクエストには1つのニブルが付加される。Inert値は、単に、ComposeリクエストもDecomposeリクエストも存在しないことを示す。
【0024】
アービタの機能は、複数の同時に送信されるリクエストの一つを選択し、選択されたリクエストを関連するデータとともに、関連するコアモジュールにパスすることにある。アービタは、どのリクエストが選択されたかを記憶しており、そのリクエストを発信したコアユニットにACCEPT(受理)信号を送り返す。アービタは、同時に送信されるリクエストを以下のテーブルに従って選択する、
外部リクエスト 内部リクエスト コアへの出力
Inert all Inert Inert
Inert any Compose, rest Inert Compose
Inert any Decompose Decompose
Decompose all Inert Inert
Decompose any Compose, rest Inert Decompose
Decompose any Decompose Decompose
【0025】
これらコアモジュールの一つがアクティブであり、データをインターフェースに送っている場合、そのコアモジュールは、ACTIVE(活動)信号を高値にし、これによって、(存在する場合)同一の設計レベルの受信側機能ユニットに対してデータが存在することを知らせる。ACTIVE信号は、インターフェース内の(存在する場合)より高い設計レベルのコアモジュールにも供給される。この実施例においては、ワードコアモジュール52はACTIVE信号を受信側機能ユニットU2に送信し、バイトコアモジュール53はACTIVE信号をワードコアモジュール52に送信し、ニブルコアモジュール54はACTIVE信号をバイトコアモジュール53と受信側機能ユニットU3に送信する。
【0026】
(コアモジュール)
図5のコアモジュールは、複合状態マシンであり、より単純な複数の状態マシンを互いに接続することによって形成される。これらより単純な複数の状態マシンは、より低い設計レベルのメッセージを表し、各レベルにおいてメッセージがこれら低い設計レベルのメッセージに分解される。
【0027】
図6に移り、この実施例においては、ワードコアモジュール52は、直列に接続されたバイト(0)状態マシン61とバイト(1)状態マシン62から構成され、各状態マシンは、ワードがそれに分解される一連の2個のバイトに対応する。同様に、バイトコアモジュール53は、直列に接続されたニブル(0)状態マシン63とニブル(1)状態マシン64から構成され、各状態マシンは、バイトがそれに分解される一連の2個のニブルに対応する。ニブルコアモジュール54は、この実施例においてはニブルはこれ以上は分解することができないために状態マシンは含まない。
【0028】
状態マシン間の他の接続パターンも可能であることに注意する。例えば、インターフェース定義が、ワードを、この実施例の場合のように直列ではなく、並列に送信される2個のバイトとして定義する場合は、ワードコアモジュールは、並列に接続された2個のバイト状態マシンから構成し、追加のANDゲートにより、これら状態マシンの両方とも動作を完了したか否かを決定することも考えられる。別の方法として、インターフェース定義によって、受信された2個のバイトの最初のバイトを送信することが要求される場合は、ワードコアモジュールは、並列に接続された2個のバイト状態マシンから構成し、追加のORゲートにより、これら2個の状態マシンの最初の動作が完了したことを検出することも考えられる。
【0029】
(一般状態マシン)
これら全ての状態マシン61〜64は、図7に示す一般状態マシンのインスタンスであり、この一般状態マシンは、以下の状態、つまり、IDLE、D_REQUESTED、D_STARTED、C_WAITING、C_STARTED、FINISHEDから構成される。
【0030】
IDLE状態は、状態マシンが最初に喚起されたときに入る状態である。この状態においては、状態マシンは、Decomposeリクエスト又はComposeリクエストを待つ。Decomposeリクエストが受信された場合は、状態マシンは、インターフェースの次に低い設計レベルにDecomposeリクエストをデータ項目とともに送信し、その後、D_REQUESTED状態に移る。Composeリクエストが受信された場合は、状態マシンは、より低い設計レベルにComposeリクエストを送信し、その後、C_WAITING状態に移る。
【0031】
D_REQUESTED状態においては、状態マシンは、より低い設計レベルからDecomposeリクエストが受理されたことを示すACCEPT信号が返信されるのを待ち、受信された時点でD_STARTED状態に移る。
【0032】
D_STARTED状態においては、状態マシンは、より低い設計レベルがそのACCEPT 信号を取り消すのを待ち、取り消された時点でFINISHED状態に移る。
【0033】
C_WAITING状態においては、状態マシンは、より低い設計レベルからのDecomposeリクエスト又はACTIVE信号を待つ。Decomposeリクエストが受信された場合は、状態マシンは、より低い設計レベルにDecomposeリクエストをデータ項目とともに送信し、その後、D_REQUESTED状態に移る。ACTIVE信号が受信された場 合は、状態マシンは、C_STARTED状態に移る。
【0034】
C_STARTED状態においては、状態マシンは、より低い設計レベルからのACTIVE信号が取り消されるのを待つ。取り消された時点で、状態マシンは、より低い設計レベルからのデータ項目を読み出し、その後、FINISHED状態に移る。
【0035】
(インターフェースの動作)
インターフェースは、以下のように初期化される。プロトコルコアモジュール51がComposeリクエストをワードコアモジュール52に送信する。これに応答して、ワードコアモジュール52内のバイト(0)状態マシン61は、Composeリクエストをバイトコアモジュール53に送信し、その後、バイト(0)状態マシン61は、C_WAITING状態に移る。今度は、バイトコアモジュール53内のニブル(0)状態マシン63が、Composeリクエストをニブルコアモジュール54に送信し、ニブル(0)状態マシン63もC_WAITING状態に移る。ニブルコアモジュール54へのComposeリクエストは、ニブルコアモジュール54は状態マシンを持たないために破棄される。
【0036】
機能ユニットU1が、機能ユニットU2及びU3にメッセージを送信したい場合は、機能ユニットU1は一連のバイトをインターフェースユニットI1のアービタ56に送信する。各バイトにはDecomposeリクエストが付加される。
【0037】
第一のDecomposeリクエストに応答して、ニブル(0)状態マシン63は、ニブルコアモジュール54に、Decomposeリクエストをバイトの最初のニブルとともに送信し、その後、ニブル(0)状態マシン63はD_REQUSTED状態に移る。次に、バイトコアモジュール53がそのACTIVE信号を高値にし、自身が現在アクティブであることを示し、アービタ56がそのACCEPT信号を高値にし、機能ユニットU1に対してリクエストが受理されたことを示す。
【0038】
バイトコアモジュール53からACTIVE信号を受信すると、ワードコアモジュール52内のバイト(0)状態マシン61はC_STARTED状態に移り、ワードコアモジュール52はアクティブになる。ワードコアモジュール52がアクティブになるのを待っていた機能ユニットU2は、ここでデータの受信を開始する。
【0039】
ニブルコアモジュール54はバイトコアモジュール53からDecomposeリクエストを受信するとアクティブになる。ニブルコアモジュール54がアクティブになるのを待っていた機能ユニットU3は、ここでデータの受信を開始する。アービタ57は、そのACCEPT信号を高値にし、Decomposeリクエストが受理されることを示す。
【0040】
アービタ57からACCEPT信号が受信されると、ニブル(0)状態マシン63はD_STARTED状態に移る。次に、ACCEPT信号が取り消されると、ニブル(0)状態 マシン63はFINISHED状態に移る。これにより、今度は、ニブル(1)状態マシン64がアクティブになる。
【0041】
バイトコアモジュール53は、まだ元のDecomposeリクエストを受信しているために、ニブル(1)状態マシン64はD_REQUESTED状態に移り、次に、ニブルコアモジュール54にもう一つのDecomposeリクエストをバイトの第二のニブルとともに送信する。上述と同様に、アービタ57は、自身のACCEPT信号を高値にすることで、Decomposeリクエストが受理されたことを示す。このACCEPT信号を受信すると、ニブル(1)状態マシン64はD_STARTED状態に移る。次に、ACCEPT信号が取り消されると、ニブル(1)状態マシン64はFINISHED状態に移る。
【0042】
ニブル(1)状態マシン64の動作が終了すると、バイトコアモジュール53は、自身のACTIVE信号を取り消すとともに、機能ユニットU1へのACCEPT信号も取り消す。ACTIVE信号が取り消されると、バイト(0)状態マシン61は、第一のバイトをワードコアモジュール52に送った後にFINISHED状態に移り、バイト(1)状態マシン62がアクティブとなる。
【0043】
上記説明から理解できるように、ここまでの動作で、第一のバイトが2個のニブルに分解され、これらが機能ユニットU3に送信され、一方ワードコアモジュール52は、1バイトを読み出している。インターフェースは、ほぼ初期の状態に戻っている。ただし、異なる点として、ワードコアモジュール52がまだアクティブであり、バイト(1)状態マシン62がC_WAITING状態にあって、機能ユニットU1が第二のバイトを送信するのを待っている。
【0044】
機能ユニットU1が第二のバイトを送信すると上述のステップが反復される。今回は、バイト(1)状態マシン62がFINISHED状態に移ると、ワードコアモジュール52は非アクティブとなり、受信機能ユニットU2はそのワードの受信を完了する。
【0045】
上述の動作がメッセージ内の一連のペアのバイトの各々に対して反復される。
【0046】
(議論)
上記説明から理解できるように、上述のインターフェースは、任意のレベルの機能ユニットが他の任意のレベルの機能ユニットと通信することを可能にする一般的機構を与える。例えば、最も高いレベルの(ワード本位の)機能ユニットがメッセージを最も低いレベルの(ニブル本位の)機能ユニットに送ることを可能にするためにこれと同一のインターフェースを用いることもできる。
【0047】
このインターフェース内のこれら状態マシンは、それらの現在の環境に従ってメッセージが組み立てられるべきか又は分解されるべきかを自動的に制御し、情報がインターフェースの階層内を上方に及び/又は下方に正しく流れるのを助ける。
【0048】
(幾つかの可能な変更実施例)
理解できるように上述のシステムに対して多くの変更・修正を本発明の範囲から逸脱することなく行うことができる。例えば、上述とは異なる設計定義言ワード又はシミュレータを用いることもできる。さらに、ワード、バイト、及びニブルに基づく上述のインターフェース階層は、単に一例にすぎず、メッセージを分解するための他の多くの異なる方法を規定することもできる。
【図面の簡単な説明】
【図1】シミュレーションモデル及びこのモデルがモデル定義からコンパイル(翻訳)される方法を示すブロック図である。
【図2】複数の機能ユニットと一つのインターフェースユニットから構成されるモデルの一部分を示すブロック図である。
【図3】図2のインターフェースユニットに対するインターフェース定義を示す。
【図4】図2の機能ユニットに対するセットの機能ユニット定義を示す。
【図5】インターフェースユニットをより詳細に示すブロック図である。
【図6】インターフェースユニットの一部分を形成するコアモジュールの内部構造を示すブロック図である。
【図7】一般状態マシンを示す状態図であるが、この状態マシンの複数のインスタンスが各コアモジュール内で用いられる。
【符号の説明】
10 モデル定義
11 コンパイラ
12 コンパイル(翻訳)されたモデル
13 VHDLライブラリ
14 シミュレータ
15 ユニット定義
16 インターフェース定義
U1〜U3 機能ユニット
I1 インターフェースユニット
51 プロトコルコアモジュール
52 ワードコアモジュール
53 バイトコアモジュール
54 ニブルコアモジュール
55〜57 アービタ
61 バイト(0)状態マシン
62 バイト(1)状態マシン
63 ニブル(0)状態マシン
64 ニブル(1)状態マシン
Claims (3)
- デジタルシステムをシミュレートするためにコンピュータを動作する方法であって、
(a)前記コンピュータ内で、複数のインターフェースユニットと複数の機能ユニットとを具備するシミュレーションモデルを生成するステップを備え、前記複数のインターフェースユニットは前記複数の機能ユニット間でメッセージを送信し、そして前記複数の機能ユニットは、前記メッセージにおけるニブルの数に基づいた設計抽象の複数の異なるレベルで規定されており、前記方法はさらに、
(b)前記シミュレーションモデルの実行の間に前記設計抽象の異なるレベルで前記機能ユニットの間で前記メッセージを受け渡しするために、各インターフェースユニット内で、前記メッセージを設計抽象のより高いレベル又はより低いレベルに自動的に組み立てる又は分解するステップを備え、
前記複数の各インターフェースユニットが設計レベルの一つに対応する複数のコアモジュールを具備し、前記方法がさらに、
(c)前記複数の機能ユニットの内のある特定の設計レベルの一つからのメッセージをパスするステップ、
(d)前記特定の設計レベルより高いレベルの全てのコアモジュールに組立リクエストをパスするステップ、及び
(e)前記特定の設計レベル以下の全てのコアモジュールに分解リクエストをパスするステップを具備することを特徴とする方法。 - 前記複数のコアモジュールの少なくとも一つが複数の状態マシンを具備し、各状態マシンが、そのコアモジュールのレベルのデータ項目がそれに分解されるべきより低いデータ項目を表し、この方法がさらに、
(a)各状態マシンを、分解リクエストが受信された場合は、これに応答して、より低い設計レベルのモジュールにもう一つの分解リクエストを前記より低いレベルに対して適当なデータ項目とともに送信し、その後、前記もう一つの分解リクエストが前記より低いレベルのモジュールによって受理されるまで待ち、受理された時点で動作を完了するように動作させるステップ、及び
(b)各状態マシンを、組立リクエストが受信された場合は、これに応答して、より低いレベルのモジュールが新たなデータ項目を受理するまで待ち、受理された時点で前記より低いレベルのモジュールからのデータ項目を読み出すように動作させるステップを具備することを特徴とする請求項1の方法。 - さらに、
(a)インターフェースユニットによって複数の異なる設計レベルにおいてパスされる複数のメッセージを定義するインターフェース定義を作成するステップ、及び
(b)前記インターフェース定義をコンパイル(翻訳)することで、各インターフェースユニットを生成するステップを具備することを特徴とする請求項1または2に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9723440.5 | 1997-11-06 | ||
GBGB9723440.5A GB9723440D0 (en) | 1997-11-06 | 1997-11-06 | Simulation model for a digital system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11213018A JPH11213018A (ja) | 1999-08-06 |
JP4215876B2 true JP4215876B2 (ja) | 2009-01-28 |
Family
ID=10821664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31526198A Expired - Fee Related JP4215876B2 (ja) | 1997-11-06 | 1998-11-06 | デジタルシステムに対するシミュレーションモデル |
Country Status (4)
Country | Link |
---|---|
US (1) | US6161081A (ja) |
EP (1) | EP0917049A3 (ja) |
JP (1) | JP4215876B2 (ja) |
GB (1) | GB9723440D0 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19906177C1 (de) * | 1999-02-05 | 2000-06-21 | Daimler Chrysler Ag | Verfahren und Vorrichtung zur Übertragung von Simulationsmodellen zwischen Simulatoren |
EP1118951A3 (en) * | 2000-01-19 | 2003-03-26 | Fujitsu Services Limited | Computer-implemented simulation method and apparatus |
US6567966B2 (en) * | 2001-02-14 | 2003-05-20 | Agilent Technologies, Inc. | Interweaved integrated circuit interconnects |
US20040010401A1 (en) * | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Unified simulation system and method for selectively including one or more cores in an integrated circuit simulation model |
JP6319086B2 (ja) * | 2012-10-16 | 2018-05-09 | 日本電気株式会社 | 回路シミュレーション装置、回路シミュレーション方法及びプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
JPH05190669A (ja) * | 1991-07-26 | 1993-07-30 | Motorola Inc | 集積回路の設計フロー方法 |
US5805462A (en) * | 1995-08-18 | 1998-09-08 | Vlsi Technology, Inc. | Automatic synthesis of integrated circuits employing boolean decomposition |
US5841663A (en) * | 1995-09-14 | 1998-11-24 | Vlsi Technology, Inc. | Apparatus and method for synthesizing integrated circuits using parameterized HDL modules |
EP0772140B1 (en) * | 1995-10-23 | 2004-01-07 | Interuniversitair Micro-Elektronica Centrum Vzw | A design environment and a design method for hardware/software co-design |
US5910898A (en) * | 1995-12-14 | 1999-06-08 | Viewlogic Systems, Inc. | Circuit design methods and tools |
US5838583A (en) * | 1996-04-12 | 1998-11-17 | Cadence Design Systems, Inc. | Optimized placement and routing of datapaths |
US5903886A (en) * | 1996-04-30 | 1999-05-11 | Smartlynx, Inc. | Hierarchical adaptive state machine for emulating and augmenting software |
US5696771A (en) * | 1996-05-17 | 1997-12-09 | Synopsys, Inc. | Method and apparatus for performing partial unscan and near full scan within design for test applications |
-
1997
- 1997-11-06 GB GBGB9723440.5A patent/GB9723440D0/en not_active Ceased
-
1998
- 1998-09-22 EP EP98307697A patent/EP0917049A3/en not_active Ceased
- 1998-10-09 US US09/169,327 patent/US6161081A/en not_active Expired - Lifetime
- 1998-11-06 JP JP31526198A patent/JP4215876B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0917049A3 (en) | 2004-01-02 |
JPH11213018A (ja) | 1999-08-06 |
EP0917049A2 (en) | 1999-05-19 |
GB9723440D0 (en) | 1998-01-07 |
US6161081A (en) | 2000-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7464016B2 (en) | Hot plug and hot pull system simulation | |
JP4014080B2 (ja) | デジタル回路の設計装置および設計方法、並びに、プログラムおよび格納媒体 | |
US6058492A (en) | Method and apparatus for design verification using emulation and simulation | |
US7020722B2 (en) | Synchronization of distributed simulation nodes by keeping timestep schedulers in lockstep | |
JP5475996B2 (ja) | モデル化およびシミュレーション方法 | |
CN110502212B (zh) | 一种面向多语言的高并发在线开发支撑方法 | |
CN102902839A (zh) | 管理集成电路设计的装置和方法 | |
Oliveira et al. | High-level specification and automatic generation of IP interface monitors | |
US7231338B2 (en) | Distributed simulation system having phases of a timestep | |
US7319947B1 (en) | Method and apparatus for performing distributed simulation utilizing a simulation backplane | |
JP4215876B2 (ja) | デジタルシステムに対するシミュレーションモデル | |
CN111176926A (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
US20040015887A1 (en) | Simulation method, simulation system and simulation program for software and hardware | |
West | A validation of the OSI session layer protocol | |
JP2004021907A (ja) | 性能評価用シミュレーションシステム | |
Dutt et al. | BIF: a behavioral intermediate format for high level synthesis | |
CN115509146B (zh) | 一种飞行维护模拟机分布式通讯资源整合方法 | |
JPH10221410A (ja) | Lsiの自動論理検証方式 | |
Pope et al. | Stately: An FSM design tool | |
Araki et al. | Rapid prototyping with HW/SW codesign tool | |
JPH07334564A (ja) | 微調整自在な接続アダプター生成自動化装置 | |
US6948139B2 (en) | Method for combining states | |
Barbour | The AMACS architecture: the design of a data-flow architecture for a distributed controlled robotics system | |
Kuo et al. | KMDS: an expert system for integrated hardware/software design of microprocessor-based digital systems | |
Appelquist | FASTBUS simulation models in VHDL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070829 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071129 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080221 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080317 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080716 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080904 |
|
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: 20081014 |
|
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: 20081105 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131114 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |