JPH07192034A - インタプリタ型シミュレーション方法 - Google Patents

インタプリタ型シミュレーション方法

Info

Publication number
JPH07192034A
JPH07192034A JP5332998A JP33299893A JPH07192034A JP H07192034 A JPH07192034 A JP H07192034A JP 5332998 A JP5332998 A JP 5332998A JP 33299893 A JP33299893 A JP 33299893A JP H07192034 A JPH07192034 A JP H07192034A
Authority
JP
Japan
Prior art keywords
language
block
intermediate code
hardware description
interpreter
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
JP5332998A
Other languages
English (en)
Other versions
JP2943590B2 (ja
Inventor
Kazuhisa Kirigatani
和久 桐ケ谷
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 Corp
Original Assignee
NEC 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 Corp filed Critical NEC Corp
Priority to JP5332998A priority Critical patent/JP2943590B2/ja
Publication of JPH07192034A publication Critical patent/JPH07192034A/ja
Application granted granted Critical
Publication of JP2943590B2 publication Critical patent/JP2943590B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】ハードウェア記述言語における言語解析時にオ
ブジェクトの構造を決定できず、そのオブジェクトの一
部を実行してみないと構造が判明しない記述が可能な言
語の中間コードを中間言語インタプリタによってメモリ
に展開し、実行する方法の提供。 【構成】ソースプログラムをハードウェア記述言語によ
って記述する段階1と、ハードウェア記述言語によって
記述されたオブジェクトをコンパイルする段階2と、コ
ンパイルによって中間コードを生成する段階3と、中間
コード3を解析し、中間言語インタプリタによって実行
する中間言語インタプリタ段階4と、を含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は電気系の論理回路シミ
ュレーション、特にハードウェア記述言語を用いた論理
回路のシミュレーション方法に関する。
【0002】
【従来の技術】近年、大規模化する論理回路の設計にお
いて、ゲートレベルの回路図面を書き、それを組み合わ
せることによって全体回路を作り上げていくというボト
ムアップの設計方式から、まず全体の機能設計を行い、
その段階での機能漏れやインターフェースの整合をと
り、それを機能別のブロックに分割し、それぞれのブロ
ックを更に同じようにブロックに分割していくトップダ
ウンの設計方式に移行しつつある。そのトップダウン設
計を実現するために不可欠なツールがハードウェア記述
言語である。ゲートレベルの記述から抽象的な動作記述
までをサポートするハードウェア記述言語を使用して、
最上位の機能設計を抽象的な動作レベルで記述し、全体
回路の検証を行い、次に、全体回路をブロックに分割
し、それぞれのブロックを、更に動作レベルで記述す
る。これを繰り返し、ある程度単純化された段階で人手
ないし論理合成ツールによってゲートレベルの回路に落
とし、タイミングなどの詳細な検証を行う方向に進んで
いる。しかし、ハードウェア記述言語の中には、一般の
プログラミング言語と異なり、そのソースプログラムの
解析中にオブジェクト構造を完全に決定することができ
ない言語が存在する。そのような言語で記述されるソー
スプログラムでシミュレーションを行うためには、言語
解析時、実行に依存しないで作成できる部分とそれを用
いて全体の構造を作成するための任意のプログラミング
言語によるソースプログラムを生成するだけにとどめ、
そのソースプログラムを実行することによって、最終的
なオブジェクトを生成しシミュレーションを行う手順が
必要である。
【0003】従来の特開昭62−290939では、プ
ログラム修正に対応した動的な実行命令の置換について
扱っているが、プログラム中の記述に対応して自動的に
構造が変化するようなものについては考慮されていなか
った。
【0004】
【発明が解決しようとする課題】上述した従来の技術
は、実行オブジェクトが自分自身を自動的に生成するよ
うな構造になっているため、実際に最終的なオブジェク
トが構成されている過程を直接制御できないで、シミュ
レータの開発工数がかかること、またデバッガのための
情報を組み入れるために再コンパイルが必要になるこ
と、更に小さなハードウェア記述言語の変更に対しても
シミュレーション再実行までの時間が長くなるという欠
点があった。
【0005】
【課題を解決するための手段】この発明の目的は、言語
解析によってオブジェクト構造が決定できないハードウ
ェア記述言語を中間コードに変換し、中間言語インタプ
リタによってオブジェクトを実行する方法の提供であ
る。
【0006】そのため、コンパイラによる言語解析時に
ソースプログラムのオブジェクト構造を完全には決定で
きないで、前記言語解析結果を一部実行したときにはじ
めて前記オブジェクト構造の全体が決定されるようなハ
ードウェア記述言語の論理シミュレーションにおいて、
前記ソースプログラムのオブジェクト構造に依存しない
実行文単位に生成される中間コードブロックと前記中間
コードブロックをリンクする信号オブジェクトと前記中
間コードブロックから呼び出される各インスタンスのブ
ロック名と関数名の情報を含むヘッダ情報とを含む中間
コードを生成する段階と、前記ヘッダ情報と中間コード
ブロックを中間言語インタプリタによって解釈し、最終
的なオブジェクト構造を決定し、メモリ内に前記最終的
なオブジェクトを展開して実行する段階と、を含む。
【0007】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0008】この発明の一実施例の処理ステップを示す
図1を参照すると、ハードウェア記述言語によって記述
されるソースプログラムを格納するハードウェア記述言
語1と、ハードウェア記述言語1のソースプログラムを
中間コード3にコンパイラによって変換するコンパイル
段階2と、中間コード3を中間言語インタプリタによっ
て解釈し、メモリ内に展開する中間言語インタプリタ段
階4とを含む。
【0009】次に、この実施例の処理の各段階を説明す
る。
【0010】ソースプログラムをコンパイラによって中
間コードに変換し、中間言語インタプリタによってメモ
リへの展開を説明する図2を参照すると、中間コードの
最上位ブロック5がサブブロック6をCOMPという名
前のインスタンス8として含み、最上位ブロック5で宣
言されたSという名前で範囲が0から4の配列シグナル
7の1から3の要素がサブブロック6のAという名前の
範囲が0から2の配列ポート9に接続されているという
内容のハードウェア記述言語1をコンパイラ2によって
中間コード3に変換し、中間言語インタプリタ4によっ
てメモリ中で最終的に展開されてオブジェクト構造が確
定した結果を示している。
【0011】先ず、ハードウェア記述言語1をコンパイ
ラによってコンパイルすると(ステップ2)、最上位ブ
ロック5のコンパイル時には、ヘッダ情報として名前が
Sで、かつ範囲が0から4のシグナル7がこの最上位ブ
ロック5内で使用できるという情報が書き込まれ、実行
文においてはCOMPという名前のインスタンス8を呼
び出すコードとそのインスタンスのポートに対してシグ
ナルS7の1から3を接続するという情報が書き込まれ
る。サブブロック6のコンパイル時には、ヘッダ情報と
して名前がAで範囲が0から2である配列ポート11が
このサブブロック6内で使用できるという情報が書き込
まれ、実行文が書き込まれる。
【0012】次に、コンパイル結果である中間コード3
が中間言語インタプリタによって読み込まれ実行される
(ステップ4)。最上位ブロックのヘッダ情報を読むと
シグナルの宣言があるので、メモリ中に5つの領域10
を確保し、シグナル4のポインタにその確保した領域の
先頭アドレスを代入する。ヘッダ情報部分の解析が終了
すると、実行文の解析に移る。実行文内にインスタンス
があるのでCOMPという名前に対して、サブブロック
6を生成したもののアドレスを対応させたらそこで最上
位ブロックの解析を一旦中断して、サブブロック6の解
析に移る。サブブロック6のヘッダ情報からAという名
前で範囲が0から2の配列ポート11があることがわか
る。この配列ポート11には最上位ブロック5のシグナ
ルSの1から3までが割り当てられているので、先ほど
確保した領域10の1の領域のアドレスをポート11の
ポインタに代入する。サブブロック6の解析が済んだら
最上位ブロック5の解析を再開する。
【0013】以上のようにして全構造が確定し、メモリ
中にオブジェクトが完全に展開されると、シミュレーシ
ョンが開始できる。
【0014】
【発明の効果】ブロック単位に中間コードを生成するこ
とにより構造に依存しない中間コードを生成することが
可能になり、記述言語の変更の際の再解析処理を最小限
にくい止めることができるという効果と、インスタンス
単位にブロックを複製して全体構造を作成することによ
り複雑なスタック管理を必要とせずシミュレータ開発工
数を削減することができるという効果と、デバッガの情
報が中間コード中に入るためにデバッグ時と通常実行時
とで再コンパイルする必要がないという効果を有する。
【図面の簡単な説明】
【図1】この発明の一実施例の処理ステップを示す図で
ある。
【図2】この発明の中間コードを解釈する処理を説明す
る図である。
【符号の説明】
1 ハードウェア記述言語ソースプログラム 2 ハードウェア記述言語ソースプログラムを中間コ
ードに変換するコンパイラ 3 ソースプログラムをブロック単位にヘッダ情報と
実行文に分けた中間コード 4 中間コードを解析して全構造を確定しメモリ中に
オブジェクトを展開してシミュレーションを実行するた
めの中間言語インタプリタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 コンパイラによる言語解析時にソースプ
    ログラムのオブジェクト構造を完全に決定できないで、
    前記言語解析結果を一部実行したときにはじめて前記オ
    ブジェクト構造の全体が決定されるようなハードウェア
    記述言語の論理シミュレーションにおいて、 前記ソースプログラムのオブジェクト構造に依存しない
    実行文単位に生成される中間コードブロックと前記中間
    コードブロックをリンクする信号オブジェクトと前記中
    間コードブロックから呼び出される各インスタンスのブ
    ロック名と関数名の情報を含むヘッダ情報とを含む中間
    コードを生成する段階と、 前記ヘッダ情報と中間コードブロックを中間言語インタ
    プリタによる解釈によって最終的なオブジェクト構造を
    決定し、メモリ内に前記最終的なオブジェクトを展開し
    て実行する段階と、 を含むインタプリタ型シミューレーション方法。
JP5332998A 1993-12-27 1993-12-27 インタプリタ型シミュレーション方法 Expired - Lifetime JP2943590B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5332998A JP2943590B2 (ja) 1993-12-27 1993-12-27 インタプリタ型シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5332998A JP2943590B2 (ja) 1993-12-27 1993-12-27 インタプリタ型シミュレーション方法

Publications (2)

Publication Number Publication Date
JPH07192034A true JPH07192034A (ja) 1995-07-28
JP2943590B2 JP2943590B2 (ja) 1999-08-30

Family

ID=18261153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5332998A Expired - Lifetime JP2943590B2 (ja) 1993-12-27 1993-12-27 インタプリタ型シミュレーション方法

Country Status (1)

Country Link
JP (1) JP2943590B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771057B1 (ko) * 2005-12-26 2007-10-29 주식회사 신지소프트 모바일 플랫폼의 중간 언어 변환 장치 및 그 방법
KR101306842B1 (ko) * 2012-07-10 2013-09-10 인하대학교 산학협력단 자바 프로그램 검증 조건 생성 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771057B1 (ko) * 2005-12-26 2007-10-29 주식회사 신지소프트 모바일 플랫폼의 중간 언어 변환 장치 및 그 방법
KR101306842B1 (ko) * 2012-07-10 2013-09-10 인하대학교 산학협력단 자바 프로그램 검증 조건 생성 시스템 및 방법

Also Published As

Publication number Publication date
JP2943590B2 (ja) 1999-08-30

Similar Documents

Publication Publication Date Title
JPH05257709A (ja) 並列化判別方法およびそれを用いた並列化支援方法
US7917899B2 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
US7350180B1 (en) Search algorithm for inheriting clock contexts in hardware description language translation tools
KR20090092617A (ko) 프로세서 및 컴파일 방법
US20030023950A1 (en) Methods and apparatus for deep embedded software development
CN110210046B (zh) 应用程序及专用指令集处理器一体化敏捷设计方法
KR0125605B1 (ko) 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치
US6086624A (en) Simulator and simulation method in each of which simulation can be carried out at a high-speed
JP2008305337A (ja) プログラム変換装置、プログラム変換方法、プログラム、記憶媒体、デバッグ装置、デバッグ方法及びプログラム開発システム
JPH07192034A (ja) インタプリタ型シミュレーション方法
JPH08305583A (ja) Cpuシミュレーション方法
JP3840149B2 (ja) コンパイラ、演算処理システム及び演算処理方法
JP2009515243A (ja) ホストコンピュータ上で実行可能なシミュレーションプログラムを生成する方法
JPH10320212A (ja) キャッシュ向け最適化方法
JPH10187461A (ja) 言語処理方式
CN118428285B (zh) Chisel高层电路设计的转换和验证方法及装置
JP2003216678A (ja) データ処理システムおよび設計システム
JP2004013190A (ja) ソフトウエア開発環境、シミュレータ及び記録媒体
JP3758991B2 (ja) 目的プログラムの実行ステップ数調整方法とその調整装置およびプログラムを記憶した記録媒体
JP2956591B2 (ja) ループ外への条件付き飛び出しがあるループの並列化方法及び装置
JPH05120025A (ja) ソースプログラムのインライン展開方法
JPH06119203A (ja) デバック行削除装置
CN118428285A (zh) Chisel高层电路设计的转换和验证方法及装置
JPH05224908A (ja) プログラム生産システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990525