JPH06231203A - シミュレーションモデルのためのコンパイルメカニズム - Google Patents

シミュレーションモデルのためのコンパイルメカニズム

Info

Publication number
JPH06231203A
JPH06231203A JP5284694A JP28469493A JPH06231203A JP H06231203 A JPH06231203 A JP H06231203A JP 5284694 A JP5284694 A JP 5284694A JP 28469493 A JP28469493 A JP 28469493A JP H06231203 A JPH06231203 A JP H06231203A
Authority
JP
Japan
Prior art keywords
design
sub
compiled
network
simulation 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.)
Pending
Application number
JP5284694A
Other languages
English (en)
Inventor
Shaar Zakwan
シャー ザクワン
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of JPH06231203A publication Critical patent/JPH06231203A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/48Incremental compilation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 (修正有) 【目的】幾つかのVLSIを具備する複雑なデザイン
で、コンパイル時間が過度に長くなること、及びデザイ
ン中に変更が生じた場合に些細な変更でも全体のシミュ
レーションモデルが再コンパイルされなければならない
問題点を解決し、更に大規模なシミュレーションモデル
全体のコンパイル処理の速度を向上させる。 【構成】各々が複数のデザインユニットの1つを規定す
る複数のネットワーク対象を具備し、デザインデータベ
ース12は、夫々のデザインユニットをシミュレートす
るため、複数の以前にコンパイルされたサブモデルを格
納する。コンパイラ10は、デザインユニットを拡張す
るために、デザインデータベース内のネットワーク対象
を使用し、更にシミュレートするために、格納されたコ
ンパイルされたサブモデルのリストを生成する。リンカ
11が、コンパイルされたシミュレーションモデルを生
成するため、リスト上のコンパイルされた複数のサブモ
デルを一緒にリンクする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理システムのシミュ
レーションを生成するためのコンパイル(編集)メカニ
ズム(compilation mechanism)に関するものである。
【0002】
【従来の技術】シミュレーションモデルは、コンピュー
タシステム等の複雑な論理システムの設計及び開発にお
いて、広く設計を補助するものとして使用されている。
そのようなシミュレーションモデルは、通常は汎用コン
ピュータのハードウェアで実行されるソフトウェアによ
って手段を与えられている。しかしながら、それらは概
ね代わりになるべきものとして特別な目的のハードウェ
ア技術を用いて手段を与えられていた。
【0003】論理システムのデザインは、特定の方法で
ネットワーク内で相互に関係させられている相当数のデ
ザインユニット(設計項目)によって表される。各デザ
インユニットは、動作仕様(behaviour specificatio
n)、即ち、そのユニットの動作を規定する1セットのル
ール又はアルゴリズムによって表される。そうでなけれ
ば、デザインユニットは、各々が交互に動作仕様又はサ
ブネットワークのいずれかによって表される低レベルの
複数デザインユニットのサブネットワークによって表さ
れる。換言すれば、デザインは分類体系的なネットワー
クとして規定され得るものである。コンパイラプログラ
ムは、それらのデザインユニットから論理システムのた
めのシミュレーションモデルを生成するために使用する
ことが可能である。
【0004】いくつかのVLSI(各チップが通常5
0、000乃至100、000のゲートと等価であるも
の)を具備する複雑なデザインについて、サブネットワ
ークの数多くの階層性及び複雑性に起因してコンパイル
時間が過度に長くなることが見い出されている(メイン
フレームコンピュータにおいて数時間に渡る)。これに
関する別の問題としては、デザインが進展するうちにい
くつかのデザインユニットについて変更が生じた場合、
それがどんなに小さな変更であっても、全体のシミュレ
ーションモデルが再コンパイルされなければならないと
いう点が挙げられる。このことは、非常な時間の浪費と
なり、また設計者の設計能力を非常に制限するものとな
る。
【0005】
【発明が解決しようとする課題】本発明の目的は、上記
問題を解決すること又は上記問題点による弊害を軽減す
ること、更にまた大規模なシミュレーションモデル全体
のコンパイル処理の速度を向上させることにある。
【0006】
【課題を解決するための手段】本発明によると、複数の
デザインユニットからなるディジタル電子システムのシ
ミュレーションモデルを生成するコンピュータシステム
であって、 a)複数のネットワーク対象を格納するデザインデータベ
ース、各ネットワーク対象は更なるデザインユニットの
サブネットワークに関連して前記デザインユニットの1
つを規定し、デザインデータベースもまた夫々のデザイ
ンユニットをシミュレートするため複数の以前にコンパ
イルされたサブモデルを格納する、 b)選択されたデザインユニットを更なるデザインユニッ
トのサブネットワークとして拡張するためデザインデー
タベース内の前記ネットワーク対象を使用し、そしてそ
れら更なるデザインユニットをシミュレートするため前
記デザインデータベースに格納されたコンパイルされた
サブモデルのリストを生成するコンパイル手段、及び c)前記選択されたデザインユニットのためのコンパイル
されたシミュレーションモデルを生成するため前記リス
ト上のコンパイルされた複数のサブモデルを一緒にリン
クするリンク手段を具備するコンピュータシステムが提
供される。
【0007】この事前にコンパイルされたサブモデル
は、サブネットワーク上の同一のコンパイルメカニズム
の以前の動作実行によって得られる。従って、ネットワ
ークの階層性に類似するシミュレーションモデルの階層
性が構成され得ることになる。これがコンパイルメカニ
ズムの「コンパイル(compile)」オプションである。コ
ンパイルメカニズムの他のオプション(以後「リンク(l
ink)」オプションという)は、現存するシミュレーショ
ンモデルがそのモデルの一部を形成するサブモデルの変
更に続いて更新されることを許容する。変更されたサブ
ネットワークは、まずコンパイルオプションを使用して
コンパイルされる。その後、新たなサブモデルが現存す
るサブモデルに代わってシミュレーションモデルにリン
クされる。
【0008】本発明のより好ましい実施例において、複
数デザインユニットの少なくとも1つが、それらの複数
ユニットがシミュレーションの間並行に実行できるよう
に、シミュレーションモデル内に配置されたサブモデル
と動作の両方として拡張され得る。
【0009】コンパイルにおいて事前にコンパイルされ
たサブモデルを採用する構想は、サブネットワークを拡
張する必要性を減少させ、従ってコンパイルの時間を著
しく減少させる。本システムを使用した大規模モデル
が、何時間単位ではなく何分単位で構成できたという経
験的事実もある。
【0010】本発明は、また、相当な経費がかかる大規
模な再コンパイルを必要とせずに設計変更を行う能力を
提供するシミュレーションモデルの増大するコンパイル
をも許容する。これが大規模なデザインについて些細な
変更を行う際に顕著となる特別な利益であり、そしてそ
の結果、設計者の生産性を実質的に増大させ得ることが
分かっている。
【0011】
【実施例】本発明による1つのコンパイルメカニズムの
一例について、以下、添付図面を参照しつつ説明する。
【0012】図1において、本発明によるコンパイルメ
カニズムは、ネットワークコンパイラ10及びリンカ(l
inker)11を有している。コンパイラ10は、デザイン
データベース12、動作ライブラリ(behaviour librar
y)13及びコンパイラステアリングファイル(compiler
steering file)14を使用している。上述のように、コ
ンパイラ10は、コンパイルされたシミュレーションモ
デル16を生成するためにその後リンカ11によって処
理される部分的モデル15を生成する。
【0013】デザインデータベース12は、各々が固有
の名称を有するデータ対象の集合から構成されている。
これらのデータ対象は、各々がサブネットワークに関し
てデザインユニットを規定する複数のネットワーク対象
を含んでいる。デザインデータベースはまた、ネットワ
ークコンパイラによって既に生成されている如何なるシ
ミュレーションモデルをも保持する。一般的に、それら
のモデルは、シミュレートされるべきシステムのトップ
レベルのシミュレーションモデルを含み、そしてシステ
ムの個々のパーツについての相当数のサブモデルを含ん
でいてもよい。以下詳細に説明されるように、各モデル
は、(必要ならば)そのシミュレーションモデルを生成
する際に使用されているサブモデルのリストに関係づけ
られている。
【0014】動作ライブラリ13は、コンパイルされた
複数の動作仕様(behaviour specification)の集合から
構成されており、各動作仕様は1セットのルール又はア
ルゴリズムに関してデザインユニットの動作を規定す
る。
【0015】コンパイラステアリングファイル14は、
以下のような形式の1セットの命令(ステートメント:
statements)を具備している。
【0016】(キーワード、名称)ここで、「名称」と
は特定のデザインユニットの名称をいい、「キーワー
ド」とは以下のオプションのうちの1つをいう。
【0017】「動作(behaviour)」は、動作シミュレー
ション、即ちその動作仕様に関して動作シミュレーショ
ンを行うことによってデザインユニットをシミュレート
するオプションである。
【0018】「モデル」は、デザインユニットをシミュ
レートするために以前にコンパイルされたサブモデルを
使用するオプションである。
【0019】「ネットワーク」は、サブネットワークに
関してデザインユニットを拡張するオプションである。
【0020】「並行(concurrent)」は、その動作仕様に
関してデザインユニットをシミュレートし、更に、動作
シミュレーションと並行して、サブネットワークとして
デザインユニットを拡張する(又は、デザインユニット
もモデルとして規定された場合には以前にコンパイルさ
れたサブモデルを使用する)オプションである。
【0021】更に、CHECKコマンド(チェックコマ
ンド)17も、シミュレーションの間に、並行してコン
パイルされた動作及びサブネットワーク(又はサブモデ
ル)の出力が同じであることをチェックするために提供
されている。
【0022】図2は、シミュレーションモデルが特定の
トップレベルのデザインユニットについて生成されるべ
きことを規定するCOMPILEコマンドに応答したコ
ンパイラ10の動作を示している。
【0023】(ステップ21)コンパイラは、まず処理
のためにデザインユニットをデータベース12から選択
する。最初に、これはトップレベルのデザインユニット
である。
【0024】(ステップ22)コンパイラは、その後、
選択されたデザインユニットに関連する命令を見いだす
べく、コンパイラステアリングファイル14を検査す
る。そして、コンパイラは、命令中のキーワードに応じ
て分岐する。
【0025】(ステップ23)キーワードが「動作」の
場合、コンパイラは、デザインユニットのための動作仕
様を動作ライブラリ13からフェッチし、そしてそれに
対する基準を部分的モデル15中に記録する。この仕様
は、動作をシミュレートするのに必要なシミュレーショ
ンコードを含んでいる。
【0026】(ステップ24)キーワードが「モデル」
の場合、コンパイラは、デザインユニットについて以前
にコンパイルされたサブモデルをデザインデータベース
から見い出し、そして部分的モデル15中のサブモデル
のリストをそれ以降のリンキングのために更新する。以
前にコンパイルされたサブモデルを見い出すことができ
ない場合には、エラーメッセージが返送される。
【0027】(ステップ25)キーワードが「ネットワ
ーク」の場合、コンパイラは選択されたデザインユニッ
トを、デザインデータベース14から得られたサブネッ
トワークと置き換えることによって拡張する。サブネッ
トワーク中の全てのデザインユニットは、その後処理の
ため利用可能となる。
【0028】(ステップ26)キーワードが「並行」の
場合、コンパイラは、現存するネットワーク又はサブモ
デルと並行に動作を配列する「動作」ステップを実行
し、その結果、コンパイルされたシミュレーションモデ
ルは、動作表現及びデザインユニットのサブネットワー
クの拡張(又はコンパイルされたサブモデル)の両方を
並行して含むことになる。
【0029】デザインユニットについてのステアリング
ファイル中に何の命令も発見できない場合には、コンパ
イラは第1に動作を、第2にモデルを、そして最後にネ
ットワークを探す。これらのうち1つが発見された場合
には、コンパイラは上述の動作を続行する。しかし、そ
うでない場合には、エラーメッセージが返送される。
【0030】(ステップ27)その時点において処理の
ためのデザインユニットがもはや存在しない場合、コン
パイル(編集:compilation)は完了する。そうでなけ
れば、処理のため次のデザインユニットを選択するため
に、コンパイラは上記(ステップ21)に戻る。
【0031】図3は、リンカ16の動作を示す図であ
る。
【0032】(ステップ31)リンクコマンドは、(も
しあれば)部分的モデル15と関連するコンパイルされ
たサブモデルのリストをアクセスする。
【0033】(ステップ32)リスト中の各サブモデル
について、リンカは、このサブモデルをデザインデータ
ベース12からフェッチし、そしてそれをシミュレーシ
ョンモデル16にリンクさせ、基準の全ての必要な調整
(fixing-up)を行う。
【0034】(ステップ33)上記ステップが、リスト
中の各サブモデルについて交互に繰り返される。
【0035】シミュレーションモデル16が生成されて
リンクされていたとき、適当な入力テストデータシーケ
ンスを使用してそのモデルは実行(run)され得る。シミ
ュレーションモデルは、その動作及びそのネットワーク
拡張(又はサブモデル)に関してデザインユニットの並
行表現を含む。尚、それら2つの表現は、CHECKコ
マンド17を使用してその等価性をチェックするために
比較され得る。
【0036】図4は、COMPILE(LINK)コマ
ンドに応じたコンパイラ10の動作を示す図である。こ
のオプションは、そのモデルの一部を形成するサブモデ
ルの変更の後に、現存するシミュレーションモデルを更
新するために使用される。
【0037】(ステップ41)更新されるべきモデルが
データベース12から読み出され、そしてフルモデル(f
ull model)16として格納される。
【0038】(ステップ42)モデル16内の全てのサ
ブモデルは、部分的モデル15を生成するため放棄され
る。
【0039】部分的モデル15は、上述のように、サブ
モデルのその関連するリスト中の全てのサブモデルの最
後のバージョンとリンクするため、その後リンカ11に
よって処理されることが可能となる。
【0040】コンパイラメカニズムの動作の一例につい
て、以下、図5を参照しつつ説明する。
【0041】本実施例においては、トップレベルのデザ
インAがデザインユニットB及びEを具備すると仮定す
る。ユニットBは、デザインユニットC及びDから構成
されるサブネットワークとして拡張されている。更にま
た、Aについてのシミュレーションモデルを開発するう
ちに、ユニットB及びCについてサブモデルがコンパイ
ルされていると仮定する。
【0042】いま仮に、ユニットCに対する変更を行う
ことによって、小さな変更がシミュレーションモデルに
対して行われたとする。この場合、最初にコンパイラ1
0のCOMPILEオプションが、ユニットCについて
のサブモデルを再コンパイルするために呼び出される。
その後、ユニットBについてのサブモデルを更新すべ
く、COMPILE(LINK)オプションが呼び出さ
れる。最後に、トップレベルのデザインAについてのモ
デルを更新すべく、COMPILE(LINK)オプシ
ョンが再度呼び出される。
【0043】いま、ユニットC及びこのユニットがユニ
ットBと相互に影響しあう方法の両方に影響を与えるシ
ミュレーションモデルに対して、より費用のかかる変更
が行われている場合について考える。この場合、ユニッ
トBについてのサブモデルを再コンパイルすべく、コン
パイラのCOMPILEオプションが最初に呼び出され
る。COMPILEオプションは、ユニットBについて
のサブモデルを再コンパイルすべく、その後再び呼び出
される。最後に、トップレベルのデザインAを更新すべ
く、COMPILE(LINK)オプションが呼び出さ
れる。
【0044】両ケースにおいて要求される再コンパイル
の量は、全体のモデルが再コンパイルされなければなら
なかった場合に比べて少なくて済むということが本実施
例から明らかである。更に、再コンパイルの両は変更の
程度に依存している。即ち、より小さな変更であれば、
より少ない再コンパイルでよい。
【0045】
【発明の効果】以上説明したように、本発明によれば、
幾つかのVLSIを具備する複雑なデザインについて、
サブネットワークの数多くの階層性及び複雑性に起因し
てコンパイル時間が過度に長くなること、及びデザイン
が進展するうちにいくつかのデザインユニットについて
変更が生じた場合にそれがどんなに些細な変更であって
も全体のシミュレーションモデルが再コンパイルされな
ければならないという従来技術における問題点を解決す
ることが可能となる。更に、大規模なシミュレーション
モデル全体のコンパイル処理の速度を向上させることも
可能となる。
【図面の簡単な説明】
【図1】コンパイラ及びリンカを含む、シミュレーショ
ンモデルを生成するコンパイルメカニズムのデータフロ
ー図である。
【図2】「コンパイル」オプションを実行する際のコン
パイラの動作を説明するフロー図である。
【図3】リンカの動作を示すフロー図である。
【図4】「リンク」オプションを実行する際のコンパイ
ラの動作を説明するフロー図である。
【図5】コンパイルメカニズムの動作の一例を示す概略
図である。
【符号の説明】
10 ネットワークコンパイラ 11 リンカ 12 デザインデータベース 13 動作ライブラリ 14 ステアリングファイル 15 部分的モデル 16 シミュレーションモデル 17 チェックコマンド

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のデザインユニットからなるディジ
    タル電子システムのシミュレーションモデルを生成する
    コンピュータシステムにおいて、 a)複数のネットワーク対象を格納するデザインデータベ
    ース、各ネットワーク対象は更なるデザインユニットの
    サブネットワークに関して前記デザインユニットの1つ
    を規定し、デザインデータベースもまた夫々のデザイン
    ユニットをシミュレートするため複数の以前にコンパイ
    ルされたサブモデルを格納する、 b)選択されたデザインユニットを更なるデザインユニッ
    トのサブネットワークとして拡張するためデザインデー
    タベース内の前記ネットワーク対象を使用し、そしてそ
    れら更なるデザインユニットをシミュレートするため前
    記デザインデータベースに格納されたコンパイルされた
    サブモデルのリストを生成するコンパイル手段、及び c)前記選択されたデザインユニットのためのコンパイル
    されたシミュレーションモデルを生成するため前記リス
    ト上のコンパイルされた複数のサブモデルを一緒にリン
    クするリンク手段を具備することを特徴とするコンピュ
    ータシステム。
JP5284694A 1992-11-19 1993-11-15 シミュレーションモデルのためのコンパイルメカニズム Pending JPH06231203A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB929224225A GB9224225D0 (en) 1992-11-19 1992-11-19 Compilation mechanism for a simulation model
GB9224225.4 1992-11-19

Publications (1)

Publication Number Publication Date
JPH06231203A true JPH06231203A (ja) 1994-08-19

Family

ID=10725327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5284694A Pending JPH06231203A (ja) 1992-11-19 1993-11-15 シミュレーションモデルのためのコンパイルメカニズム

Country Status (4)

Country Link
EP (1) EP0598476B1 (ja)
JP (1) JPH06231203A (ja)
DE (1) DE69329007T2 (ja)
GB (1) GB9224225D0 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3192906B2 (ja) * 1994-03-11 2001-07-30 富士通株式会社 論理シミュレーションシステム及び論理変更方法
US5854903A (en) * 1995-11-07 1998-12-29 Lucent Technologies Inc. Optimization method for routing and logical network design in multi-service networks
US6152612A (en) * 1997-06-09 2000-11-28 Synopsys, Inc. System and method for system level and circuit level modeling and design simulation using C++
CN102609574B (zh) * 2012-01-19 2013-11-13 武汉大学 架空输电导线舞动及防舞设计的虚拟现实仿真平台系统
US10318701B2 (en) 2016-01-19 2019-06-11 Ford Motor Company Resolving configuration conflicts using a multi-valued decision diagram

Also Published As

Publication number Publication date
DE69329007D1 (de) 2000-08-17
EP0598476A2 (en) 1994-05-25
GB9224225D0 (en) 1993-01-06
EP0598476B1 (en) 2000-07-12
DE69329007T2 (de) 2001-05-17
EP0598476A3 (en) 1995-02-15

Similar Documents

Publication Publication Date Title
Agerwala Microprogram optimization: A survey
US9672065B2 (en) Parallel simulation using multiple co-simulators
Hartmann Big practical guide to computer simulations
JP4886838B2 (ja) 並列化方法、システム、及びプログラム
US7190363B2 (en) Method and system for processing graphics simulation data
Hartmann Practical Guide To Computer Simulations (With Cd-rom)
WO1997043711A1 (en) Incremental byte code compilation system
Bergmann et al. A benchmark evaluation of incremental pattern matching in graph transformation
JP6021342B2 (ja) 並列化方法、システム、及びプログラム
JP5479942B2 (ja) 並列化方法、システム、及びプログラム
Emoto et al. Think like a vertex, behave like a function! A functional DSL for vertex-centric big graph processing
Fauth et al. Automated generation of DSP program development tools using a machine description formalism
Tardieu et al. Curing schizophrenia by program rewriting in Esterel
CN117034821B (zh) 用于芯片设计前端仿真验证的回归验证方法及介质
JPH05101141A (ja) 高位合成装置
JPH06231203A (ja) シミュレーションモデルのためのコンパイルメカニズム
US5848262A (en) Simulating digital systems by using vector processing
Chen et al. Slapo: A Schedule Language for Progressive Optimization of Large Deep Learning Model Training
CN111722597B (zh) 准备用于工业控制系统的工程数据的方法和系统
Gonçalves et al. ReFlO: An interactive tool for pipe-and-filter domain specification and program generation
JPH10320212A (ja) キャッシュ向け最適化方法
Marker Design by transformation: from domain knowledge to optimized program generation
EP0592076B1 (en) Compilation mechanism for a simulation model
JP2882876B2 (ja) プログラム試験方法
JP3551352B2 (ja) ループ分割方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020306