JP3772578B2 - 並列化論理シミュレーション方法 - Google Patents
並列化論理シミュレーション方法 Download PDFInfo
- Publication number
- JP3772578B2 JP3772578B2 JP05733399A JP5733399A JP3772578B2 JP 3772578 B2 JP3772578 B2 JP 3772578B2 JP 05733399 A JP05733399 A JP 05733399A JP 5733399 A JP5733399 A JP 5733399A JP 3772578 B2 JP3772578 B2 JP 3772578B2
- Authority
- JP
- Japan
- Prior art keywords
- logic circuit
- computer
- circuit model
- division position
- logic
- 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
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置の論理シミュレーション方法に係り、特にLSI当の論理回路モデルを複数のコンピュータ上のメモリに分割して割り当て、各コンピュータ間で通信をしながら論理回路の電気特性のシミュレーション(疑似動作)を並列的に実行する並列化論理シミュレーション方法に関する。
【0002】
【従来の技術】
従来、LSI等の複雑且つ多量の回路構成をメモリ上で展開して動作のシミュレーションを行う並列化論理シミュレータでは、論理回路モデルの展開処理及びシミュレーションに非常に多くの時間を要していた。この原因としては、処理の並列度の低下が挙げられる。
【0003】
即ち従来の並列化論理シミュレータでは、論理回路モデルを読み込む際、まず1台のコンピュータで全ての論理回路モデルの展開処理を行い、この展開した論理回路モデルを複数に分割し、この後に他のコンピュータに分割した単位での論理回路モデルの読み込み乃至シミュレーションを依頼しているため、シミュレーションに非常に多くの時間を要していた。
【0004】
特に近年においては、論理回路の大規模化により従来の方式ではシミュレーションの前処理である論理回路モデルの展開処理に非常に多くの時間を要し、シミュレーション全体の処理時間も長くなってしまうため、論理回路モデルの展開処理を高速化した並列化論理シミュレータが必要となっている。
【0005】
【発明が解決しようとする課題】
従来技術による並列化論理シミュレータは、論理回路モデルの展開処理を複数のコンピュータで並列的に実行する並列論理シミュレーション方式について考えると、まず最初に論理回路モデルを割り当てる任意のコンピュータは、論理回路モデルの展開処理、論理回路の分割位置における接続情報の作成、および他のコンピュータへの該接続情報の伝達をすべて並行して実行しなければならず、また、上記以外のコンピュータも分割位置以降の論理回路の展開処理と他のコンピュータからのデータ受信処理があり、これらがすべて複雑にからみあっているため、これらすべてを並列に実行することは非常に困難であると言う不具合があった。 本発明の目的は、前記従来技術の不具合を除去することであり、シミュレーション全体の処理時間を短くすることができる並列化論理シミュレータシステムを提供することである。本発明の他の目的は、論理回路モデルの展開処理を並列的に実行することにより、高速なシミュレーション前処理が可能な並列化論理シミュレータを提供することである。
【0006】
【課題を解決するための手段】
前記目的を解決するため本発明は、論理回路の設計単位に対応した階層形式で表現された論理回路モデルを複数のコンピュータのメモリ上に複数に分割して展開し、前記コンピュータ間で互いに通信を行いながら前記論理回路の電気特性のシミュレーションを行う並列化論理シミュレーション方法において、
前記論理回路モデルを格納する第1の記憶装置と、前記論理回路モデルの予め定められた分割位置情報を格納する第2の記憶装置とを設け、
前記複数のコンピュータの内、任意のコンピュータが、メモリ上に前記第2の記憶装置から分割位置情報を読み出して格納すると共に、第1の記憶装置から読み出した論理回路モデルを論理回路の設計単位に最上位階層から下位階層に向かって順次読み出して展開処理を開始し、
前記読み出した論理回路の設計単位が、前記第2の記憶装置から読み出した分割位置情報と一致した場合、該分割位置情報に関する論理回路の接続情報と、前記分割位置より下位階層の論理回路モデルの読み出しとメモリへの展開依頼を他のコンピュータに伝達した後、元の階層に戻って展開処理を継続し、
前記他のコンピュータが、前記任意のコンピュータから伝達された接続情報を基に前記分割位置より下位階層の論理回路モデルの読み出しとメモリへの展開を行って論理回路の設計単位の展開処理を開始することを第1の特徴とする。
【0007】
更に本発明は、前記特徴の並列論理シミュレーション方法において、前記任意のコンピュータが、他のコンピュータの処理状況を監視し、処理可能な他のコンピュータに対してのみ論理回路の分割位置における接続情報を伝達し、処理可能でない他のコンピュータに対する論理回路の接続情報を他のコンピュータが処理可能になるまでスタックしておくことを第2の特徴とする。
【0009】
【発明の実施の形態】
以下、本発明の一実施形態による論理シミュレータシステムを図面を参照して詳細に説明する。図1は本実施形態による並列化論理シミュレータシステムの全体構成図である。
【0010】
図1に示す並列化論理シミュレータシステムは、LSI等の論理回路の設計単位に対応した階層形式で表現された論理回路モデルを記憶する記憶装置101と、該論理回路モデルの予め定められた分割位置(情報)定義ファイルを格納する記憶装置102と、前記論理回路モデルを構成する多数の論理回路の電気特性のシミュレーションを実行するコンピュータ103〜106と、これらを接続するネットワーク107とから構成される。前記コンピュータ103〜106は、並列化論理シミュレータのプログラムおよび論理回路モデルを展開するための十分なメモリを搭載しているものとする。但し、メモリ量の少ないコンピュータには少量の論理回路モデルを展開し、メモリ量の多いコンピュータには多量の論理回路モデルを展開するように分割位置の定義を行うものとする。
【0011】
図2は前述の論理回路モデル及び分割位置定義ファイルの構成を示す図である。本実施形態の対象となる論理回路モデル201は、図2に示す如く、楕円形で示す複数の論理回路の設計単位を木構造で階層的に構築したものであり、図中の201a〜201cが後述する分割位置であるとする。
【0012】
また分割位置定義ファイル202は、前記論理回路の設計単位に対応した分割位置201a〜201cと、該分割位置に対応して使用するコンピュータ2〜4(コンピュータ104〜106)を予め定義したものである。
【0013】
この様に構成した論理シミュレータシステムは、シミュレーションを実行する各コンピュータ103〜106に並列化論理シミュレータのプログラムを読みこみ、任意の1台のコンピュータ、ここではコンピュータ103に論理回路モデル201の最上位階層を割り当て、論理回路モデルの分割位置情報を記述した分割定義ファイル202を読み込む。ここではまずコンピュータ103に論理回路モデルの最上位階層の割り当てを行い、他のコンピュータ(104〜106)は通信待ち状態とする。
【0014】
前記コンピュータ103は、論理回路モデルを前記論理回路の設計単位(図中の楕円で示す単位)で下位階層に向かって読み込み、当該コンピュータのメモリ上に展開してシミュレーションを開始する。図2に示した例では最上位の設計単位(楕円)のシミュレーションを開始し、次に図面左下方向に向かう2つの設計単位にシミュレーションを行う。
【0015】
次にコンピュータ103は、左端の符号102aで指示された設計単位を展開し、この論理回路モデル(設計単位)の位置が、分割位置定義ファイル202に指定された分割位置に一致した場合(ここでは201a)、後述する分割位置における論理回路の接続情報を生成し、該接続情報をコンピュータ104に伝達する。
【0016】
この接続情報を受け取ったコンピュータ104は、分割位置より下位の階層の論理回路モデル(設計単位)を読み出してコンピュータ104のメモリ上に展開して前記同様にシミュレーションを行う。
【0017】
前記コンピュータ103は上記接続情報を転送したら、相手のコンピュータ104の応答を待たずに論理回路モデルの展開処理を継続する。次に、コンピュータ103が他の分割位置(201b)を認識したら前記と同様に論理回路の接続情報を作成し、コンピュータ105に対して送信する。分割位置201cでも同様の処理をコンピュータ106対して行う。
【0018】
以上のように本実施形態による並列化論理シミュレータシステムは、論理回路の分割位置における接続情報をそれぞれ該当するコンピュータに転送し、分割位置以降の処理を各コンピュータに任せることにより、最初のコンピュータ103以外のコンピュータが並行して分割した論理回路モデルの展開処理を行うものであり、これを図3に示すフローチャートを参照して、論理回路モデル展開処理における各コンピュータの処理を詳細に説明する。
【0019】
図3は本実施形態の並列化論理シミュレータの各コンピュータにおける処理の一例を示すフローチャートである。
図3に示されるように、本実施形態の並列化論理シミュレータは、最初に論理回路モデルの最上位データを割り当てるコンピュータ103が、ステップS301により論理回路モデルの読み込みを開始し、上記以外の各コンピュータ(104〜106)は、ステップS401の通信待ちの状態で待機する。
【0020】
次にコンピュータ103は、ステップS302により現在読み込んだ論理回路モデルが論理回路の分割位置に一致するかどうかの判定を行う。ここで、分割位置でないと判定されると、ステップS303に進み、コンピュータ103のメモリ上に論理回路モデルの内容を展開する。
【0021】
前記ステップS302で論理回路の分割位置と一致すると判別した場合は、ステップS304に進み、分割位置における論理回路の接続情報(自己及び他のコンピュータ対応の接続情報)を作成した後、ステップS305で該接続情報を分割位置定義ファイル202に記述されたコンピュータに送信し、ステップS306に進む。ステップS306では、論理回路モデルの展開処理が終了したかどうかの判定を行い、まだ展開する論理回路モデルがある場合は、ステップS301に進み、再び論理回路モデルの読み込みを行うが、論理回路モデルの展開処理が終了した場合は、ステップS307に進み、他のコンピュータに論理回路モデル展開処理の終了を伝達する。その後ステップS308のシミュレーション実行処理へと進む。
【0022】
次に、ステップS401で待機していた他のコンピュータの処理について説明する。最初に論理回路モデルを割り当てられなかったコンピュータ(104〜106)は、プログラムをスタートすると受信待ちの状態で待機する。ここで、何かデータを受信するとステップS402に進み、受け取ったデータが論理回路の接続情報であるかの判定処理を行う。ここで接続情報を受信したと判別されると、論理モデルを読み込んだ後(図示せず)にステップS403に進み、分割位置より下位の階層の論理回路モデルを該コンピュータシステムのメモリ上に展開する。その後割り当てられた論理回路モデルの展開処理が終了するまで、ステップS403とステップS404を繰り返す。割り当てられた論理回路モデルの処理が終了したらステップS401に進み、再び受信待ちの状態で待機する。
【0023】
ここで論理回路モデルの設計単位の展開処理がすべて終了するとコンピュータ103は、ステップS307で終了通知を他のコンピュータに送信する。データを受け取った全てのコンピュータは、ステップS402に進み、ステップS402で接続情報ではないと判定されるため、論理回路モデルの展開処理を終了し、ステップS405のシミュレーション実行に進み、コンピュータ(104〜106)で並列的に処理される。尚、S308及びs405のシミュレーション実行は、本発明に直接関係が無いため説明を省略する。
【0024】
図4は前述のフローにおける各コンピュータで並列的に処理が実行される様子を時系列に示したものである。ここで、縦方向は時間軸とし、各コンピュータにおける論理回路モデルの展開処理を各コンピュータの線上に網掛けで表すものとする。
図4を参照すれば明らかな如く本実施形態によるシステムは、コンピュータ103は論理回路モデルの最上位が割り当てられると、論理回路モデルの展開処理を始め、コンピュータ103は論理回路の分割位置を検出すると分割位置における論理回路の接続情報を作成し、非同期に他のコンピュータに転送する。接続情報を受け取った各コンピュータ(104〜106)は受け取った分割位置以降の論理回路モデルの展開処理を実行する。コンピュータ103は論理回路モデル展開処理が終了したら各コンピュータにデータ展開処理の終了を通知し、全てのコンピュータの処理が終了するまで待ち、その後シミュレーションを実行する。この図4に示すように本実施形態によれば、論理回路モデルの展開処理を並列的に実行することにより高速に実行することができる。
【0025】
次に本発明の他の実施形態を図5を参照して説明する。この図5は、図3で説明した並列化シミュレータに通信制御を追加し、通信待ちができるだけ発生しないように工夫した例である。即ち、図3の実施形態例ではコンピュータ103は、論理回路の接続情報を作成したら他のコンピュータの状態を気にせずに送信しているため、受信側のコンピュータが、すでに割り当てられた論理回路モデルの展開処理を実行中の場合、上記接続情報を受け取ることができないため通信用バッファ等(図示せず)に長い時間データが残ることになる。このようなデータが多くなると、遂には通信用バッファのサイズを超えてしまい、通信ができなくなる可能性がある。
【0026】
そこで本実施形態においては、図3のステップS305の処理(接続情報の送信)を図5に示す処理に変更し、通信の制御を行う。
図5において、コンピュータ103は、ステップS501で他の全てのコンピュータに対し、現在受信待ち状態かどうかを尋ね、ステップS502で応答待ちをする。他のコンピュータは、上記のコンピュータ103からの通信を受け取ると、現在受信待ちかどうかをコンピュータ103に転送する。コンピュータ103では、応答の帰ってきたコンピュータが受信待ちであるかどうかをステップS503で判別し、受信待ちであると判別した場合は、ステップS505に進み、応答のあったコンピュータに対する接続情報があれば、該接続情報を送信する。ステップS503で受信待ちでないと判別した場合は、ステップS504に進み、応答のあったコンピュータに対するデータがあればスタックしておく。以下、すべてのコンピュータの応答があるまでステップS502からステップS506を繰り返す。以上のように論理回路モデルにおける論理回路の分割位置の情報を他のコンピュータに送信する際、他のコンピュータが処理可能な状態であるかどうかを先に確認し、処理可能であるコンピュータにのみ接続情報の伝達を行うことにより、通信の待ち時間を低減し、論理回路モデルの展開処理を高速化することができる。
【0027】
尚、本発明は次に述べる実施形態としても表すことができる。
<実施態様1> メモリ及び演算装置を各々有する複数のコンピュータを同時に動作させ、論理回路のモデルを該コンピュータの数以内に適当に分割し、該コンピュータ群に接続されたディスク装置から該論理回路モデルを分割された単位毎に各々のコンピュータのメモリ上に展開し、コンピュータ同士で互いに通信をし合いながら該論理回路の電気特性のシミュレーションを行う並列化論理シミュレータであって、
論理回路の設計単位に対応した階層形式で表現された論理回路モデルに対し別途定められた分割位置の情報を任意の1台のコンピュータのメモリ上に展開し、更に該コンピュータはディスク装置から該論理回路モデルを最上位階層から下位階層に向かって順次読み出して該コンピュータのメモリ上に展開し、
展開中の論理回路の位置を該分割位置情報と照合し、
分割位置を認識した場合は該分割位置に関する論理回路の接続情報を生成し、
該接続情報をコンピュータ間の通信により他の未使用のコンピュータに伝達し、該分割位置より下位階層の論理回路モデルの読み出しとメモリへの展開を該コンピュータに依頼し、
その間に最初のコンピュータは元の階層に戻って他の分割位置の探索を継続し、該コンピュータが他の分割位置を認識した場合は他の未使用のコンピュータに対して同様の処理を行うことを繰り返すことによって最初のコンピュータ以外のコンピュータが並列的に分割された論理回路モデルの読み出しを行うことを特徴とする並列化論理シミュレータ。
【0028】
<実施態様2> 前記実施形態1に示す並列化論理シミュレータにおいて、最初に論理回路モデルを割り当てた任意の1台のコンピュータが、他のコンピュータの処理状況を監視し、処理可能なコンピュータに対してだけ論理回路の分割位置における接続情報を通信によって伝達し、処理可能でないコンピュータに対する論理回路の接続情報は、該当コンピュータが処理可能になるまでスタックしておくことにより通信の待ち時間を低減し、分割された論理回路モデルの読み出しを高速に行うことを特徴とする並列論理シミュレータ。
【0029】
<実施態様3> 前記実施形態1に示す並列化論理シミュレータにおいて、論理回路モデルの分割処理を独立させ、まず前処理として分割位置の情報を任意の1台のコンピュータですべて処理し、結果をファイルまたは記憶装置に保存し、分割位置における論理回路の接続情報をすべて作成した後で、シミュレーションを実行する各コンピュータに対し該接続情報を転送し、論理回路モデルの展開処理を並列的に実行することを特徴とした並列化論理シミュレータ。
【0030】
【発明の効果】
以上説明したように本発明によれば、論理シミュレータにおいて、論理回路を複数のコンピュータのメモリ上に分割して論理シミュレーションを実行する場合に、論理回路モデルの展開処理を並列的に実行することによりシミュレーションの準備である論理回路モデルの展開処理にかかる時間を低減することができる。
【0031】
これにより高速なシミュレーション前処理が可能な並列化論理シミュレータを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態による論理シミュレータシステムの構成例を示す図。
【図2】本実施形態に適用される論理シミュレーションの対象となる論理回路モデルおよび論理回路の分割位置定義ファイルの一例を示す構成図。
【図3】本実施形態における各コンピュータの処理のフローチャート。
【図4】本発明の他の実施形態における各コンピュータのデータ展開処理例を示す図。
【図5】本発明の一実施例におけるコンピュータ間の通信制御を示す図である。
【符号の説明】
101:論理回路モデル、102:論理回路分割位置定義ファイル、103〜106:コンピュータ、201:論理回路モデル構成図、202:論理回路分割位置定義ファイル構成図。
Claims (2)
- 論理回路の設計単位に対応した階層形式で表現された論理回路モデルを複数のコンピュータのメモリ上に複数に分割して展開し、前記コンピュータ間で互いに通信を行いながら前記論理回路の電気特性のシミュレーションを行う並列化論理シミュレーション方法であって、
予め、前記論理回路モデルを第1の記憶装置に格納すると共に、前記論理回路モデルの予め定められた分割位置情報を第2の記憶装置に格納し、
前記複数のコンピュータの内、任意のコンピュータが、メモリ上に前記第2の記憶装置から分割位置情報を読み出して格納すると共に、第1の記憶装置から読み出した論理回路モデルを論理回路の設計単位に最上位階層から下位階層に向かって順次読み出して展開処理を開始し、
前記読み出した論理回路の設計単位が、前記第2の記憶装置から読み出した分割位置情報と一致した場合、該分割位置における論理回路の接続情報を作成し、該接続情報を他のコンピュータに伝達した後、元の階層に戻って展開処理を継続し、
前記他のコンピュータが、前記任意のコンピュータから伝達された接続情報を基に前記分割位置より下位階層の論理回路モデルの読み出しとメモリへの展開を行って論理回路の設計単位の展開処理を開始することを特徴とする並列化論理シミュレーション方法。 - 前記任意のコンピュータが、他のコンピュータの処理状況を監視し、処理可能な他のコンピュータに対してのみ論理回路の分割位置における接続情報を伝達し、処理可能でない他のコンピュータに対する論理回路の接続情報を他のコンピュータが処理可能になるまでスタックしておくことを特徴とする請求項1記載の並列論理シミュレーション方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05733399A JP3772578B2 (ja) | 1999-03-04 | 1999-03-04 | 並列化論理シミュレーション方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05733399A JP3772578B2 (ja) | 1999-03-04 | 1999-03-04 | 並列化論理シミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259684A JP2000259684A (ja) | 2000-09-22 |
JP3772578B2 true JP3772578B2 (ja) | 2006-05-10 |
Family
ID=13052654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05733399A Expired - Fee Related JP3772578B2 (ja) | 1999-03-04 | 1999-03-04 | 並列化論理シミュレーション方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3772578B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007144940A1 (ja) * | 2006-06-13 | 2007-12-21 | Fujitsu Limited | Hdl処理方法、プログラム及びコンピュータ読み取り可能な記憶媒体 |
JP2011145753A (ja) * | 2010-01-12 | 2011-07-28 | Renesas Electronics Corp | シミュレーション対象回路の分割方法、シミュレーション対象回路の分割装置 |
KR102318192B1 (ko) * | 2021-08-05 | 2021-10-26 | 부산대학교 산학협력단 | 로컬설계객체들의 동적 재구성에 의한 예측기반 병렬 로직 시뮬레이션에서의 성능 향상 방법 |
KR102493046B1 (ko) * | 2022-10-20 | 2023-01-27 | 부산대학교 산학협력단 | 예측데이터 가변화를 통한 예측기반 병렬 게이트수준 타이밍 로직 시뮬레이션에서의 성능 향상 방법 |
-
1999
- 1999-03-04 JP JP05733399A patent/JP3772578B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000259684A (ja) | 2000-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965757B (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
US4615017A (en) | Memory controller with synchronous or asynchronous interface | |
JP2000122817A (ja) | ネットワークプリンタ | |
CN112131176A (zh) | 一种基于pcie的fpga快速局部重构方法 | |
JPH11126182A (ja) | コンピュータバス間通信装置及びその方法 | |
JP3772578B2 (ja) | 並列化論理シミュレーション方法 | |
US8117626B2 (en) | Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor | |
US5860026A (en) | Information processing system for controlling operations of input/output devices of another clusters according to control instructions issued from a cluster | |
CN113495791B (zh) | 一种任务处理系统、方法及芯片 | |
CN114021715A (zh) | 基于Tensorflow框架的深度学习训练方法 | |
KR20130011805A (ko) | 시뮬레이션 장치 및 그의 시뮬레이션 방법 | |
JP2001236335A (ja) | 分散メモリ型並列計算機及びそのデータ転送終了確認方法 | |
US20030041190A1 (en) | System and method for efficiently performing a command swapping procedure | |
US20040003049A1 (en) | Parallel computer and analysis method, and computer product | |
EP0529866A2 (en) | Processor for a multiprocessor system | |
JP2000155738A (ja) | データ処理装置 | |
KR970007261B1 (ko) | 고속 중형 컴퓨터의 고속 백업처리방법 | |
WO2021245758A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR940009832B1 (ko) | 신경망용 병렬 프로세서에서 모듈러 메모리를 이용한 실시간 데이터 처리방법 | |
EP0319280A2 (en) | Apparatus and system of performing distributed processing based on hierarchy structure | |
JP2003527674A (ja) | エミュレーション信号の効率的なルーティングアーキテクチャを有するエミュレーションシステム | |
EP0947938A1 (en) | System for emulating an electronic device | |
JP3399776B2 (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
JP2008171335A (ja) | レジスタアクセス方式 | |
CN117130795A (zh) | 一种作业处理方法、装置及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051222 |
|
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: 20060124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060206 |
|
LAPS | Cancellation because of no payment of annual fees |