JP2003016134A - 論理回路モデルの変換方法 - Google Patents

論理回路モデルの変換方法

Info

Publication number
JP2003016134A
JP2003016134A JP2001200446A JP2001200446A JP2003016134A JP 2003016134 A JP2003016134 A JP 2003016134A JP 2001200446 A JP2001200446 A JP 2001200446A JP 2001200446 A JP2001200446 A JP 2001200446A JP 2003016134 A JP2003016134 A JP 2003016134A
Authority
JP
Japan
Prior art keywords
input
state
output
logic circuit
signal
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.)
Withdrawn
Application number
JP2001200446A
Other languages
English (en)
Inventor
Isao Kawamoto
功 河本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001200446A priority Critical patent/JP2003016134A/ja
Priority to US10/180,297 priority patent/US6760889B2/en
Publication of JP2003016134A publication Critical patent/JP2003016134A/ja
Withdrawn legal-status Critical Current

Links

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

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】 RTレベルで詳細に記述された論理回路ブロ
ックのモデルを時間概念を含まない抽象度の高いモデル
に変換する。 【解決手段】 論理回路ブロックが有する状態を動作開
始状態及び動作終了状態として設定する(処理B1)。
そして、入出力命令情報A2に含まれる解析対象命令に
対応する入力信号を動作開始状態にあるRTレベルモデ
ルA1に与え、入力信号を変化させた場合、RTレベル
モデルA1が動作終了状態になるまで、RTレベルモデ
ルA1を解析して論理回路ブロックの動作を抽出する
(処理B4)。その抽出した動作をもとに、論理回路ブ
ロックの動作モデルA3を作成する(処理B7)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、RT(Register T
ransfer)レベルで詳細に記述された論理回路モデル
を、時間概念を含まない抽象度の高い動作モデルに変換
する方法に関する。
【0002】
【従来の技術】従来の論理回路設計では、Verilo
g−HDLなどのハードウェア記述言語(HDL)を用
いて、論理合成を前提としたRTレベルモデルを作成
し、論理回路ブロックの設計と検証を行っている。しか
しながら、RTレベルモデルはクロック等を基準とする
詳細な記述がなされているので、シミュレーションに多
大な時間を要する。そのため、大規模なシステムをシミ
ュレーションすることが難しいという問題がある。
【0003】これに対し、シミュレーションを高速化す
るための方法として、以下の手法が開示されている。す
なわち、検証目的に応じて入力やレジスタの一部を固定
して論理回路の一部を削減する手法(特開2001−2
2808)、命令レベルシミュレータと論理回路シミュ
レータを接続するハード・ソフト協調シミュレーション
で用いるハードウェアのモデルにおいて、入出力信号に
対して影響を受けない複数クロックの処理を1クロック
の処理にまとめる手法(特開平10−187789)、
動作の開始と終了が規定された論理回路モデルからクロ
ック信号を取り除く手法(特開平11−96196)な
どが開示されている。
【0004】一方、論理回路で構成されるシステムを設
計する手法として、より抽象度の高い記述を用いたモデ
ルを作成してシステム全体の動作仕様を検証し、その後
段階的にモデルを詳細化する手法(USP587058
8)が開示されている。このような設計手法で用いられ
る抽象度の高いモデルは、C言語などを用いて記述され
た時間概念を含まないモデルであり、そのモデル間の接
続は、信号によって行われるのではなく、論理回路のブ
ロックからブロックへの命令によって行われる。また、
このようなモデルを用いたシミュレーションにおいて
は、各ブロックの動作は並列に行われるのではなく逐次
的に行われる。そのため、あるブロックが他のブロック
へ命令を発すると、命令を発したブロックの動作は命令
を受けたブロックの動作が終了するまで待機することに
なる。それゆえ、このような抽象度の高いモデルを用い
れば、シミュレーション時に並列動作を考慮した複雑な
スケジューリングを行う必要がなくなるので、高速なシ
ミュレーションが可能になるとともに、RTレベルの詳
細な仕様を決定する前の早い段階でモデル化が可能にな
る。その結果、設計の早い段階でシステム全体の動作仕
様を検証したり、各ブロックの呼び出し回数などの統計
情報を取得してシステムのアーキテクチャの検討に用い
たりすることができるため、効率的にシステム設計を行
うことができる。
【0005】
【発明が解決しようとする課題】しかしながら、設計資
産を再利用する際には、RTレベルの詳細な記述がなさ
れたモデルが存在しても、動作仕様の検証で用いる抽象
度の高いモデルが存在するとは限らない。そのため、仕
様書または詳細なモデルをもとにして、再利用するブロ
ックに対する抽象度の高いモデルを開発する必要があ
る。このようなモデルの開発と検証には工数がかかる
上、詳細なモデルと抽象度の高いモデルとを二重に開発
することになるため、モデルの動作が必ずしも整合しな
いという問題もある。
【0006】これに対し、RTレベルモデルを変換して
高速なシミュレーションモデルを作成する従来の手法に
おいて、入力やレジスタの一部を固定する手法では十分
に抽象度の高いモデルが得られない。また、他のブロッ
クとの接続を命令レベルシミュレータに限定したり、動
作の開始と終了が規定されていることを前提としたりす
る手法では、適用できるモデルが非常に限られたものと
なってしまう。
【0007】そこで、本発明は、各ブロックを逐次的に
処理するシミュレーションに用いるために、RTレベル
で詳細に記述された論理回路ブロックのモデルを、抽象
度が十分に高いモデルに広く汎用的に変換する方法を提
供することを課題とする。
【0008】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、論理回路ブロックの入出力信号と入出力
命令との関係を表す入出力命令情報を用いて、RTレベ
ルモデルを時間概念を含まない抽象度の高い動作モデル
に変換するものである。
【0009】具体的に、請求項1の発明が講じた手段
は、論理回路ブロックのRTレベルモデルを抽象度の高
い動作モデルに変換する方法であって、前記論理回路ブ
ロックの入出力命令と前記入出力命令に対応する入出力
信号との関係を表す入出力命令情報を用いて、前記論理
回路ブロックが有する1または2以上の状態を動作開始
状態及び動作終了状態として設定する状態設定ステップ
と、前記入出力命令情報に含まれる入力命令のうちから
選択したいずれか1の解析対象命令に対応する入力信号
を、前記動作開始状態のうちから選択したいずれか1の
第1の状態にある前記RTレベルモデルに与え、前記入
力信号を変化させた場合において、前記RTレベルモデ
ルが前記動作終了状態のいずれか1の第2の状態に到達
するまで、前記RTレベルモデルを解析して前記論理回
路ブロックの動作を抽出する動作解析ステップとを有
し、前記動作開始状態と前記入出力命令情報に含まれる
入力命令との組合せの一部または全部に対して、前記動
作解析ステップを繰り返し行い、抽出した動作をもとに
して、前記論理回路ブロックの前記動作モデルを作成す
るものである。
【0010】請求項1の発明によると、論理回路ブロッ
クの入出力信号と抽象度の高い入出力命令との関係を表
す入出力命令情報を用いて、入力命令に対応する入力信
号の変化に応じた論理回路ブロックの状態遷移と出力信
号の変化に対応する出力命令を抽出する。これをもとに
すれば、RTレベルモデルを時間概念を含まない動作モ
デルに変換することができる。
【0011】そして、請求項2の発明では、前記請求項
1の論理回路モデルの変換方法における動作解析ステッ
プは、前記解析対象命令に対応する1または2以上の入
力信号の時系列を作成するステップと、前記RTレベル
モデルが前記第2の状態に到達するまで、前記入力信号
の時系列を用いて前記RTレベルモデルを実行するとと
もに、出力信号の時系列を作成するステップと、前記R
Tレベルモデルが前記第2の状態に到達したときのその
状態を、前記論理回路ブロックの動作として抽出するス
テップと、前記出力信号の時系列と、前記入出力命令情
報に含まれる出力命令と前記出力命令に対応する出力信
号の関係とを比較して、前記出力命令を前記入出力命令
情報に含まれる出力命令の中から、前記論理回路ブロッ
クの動作として抽出するステップとを有するものとす
る。
【0012】請求項2の発明によると、入力信号の時系
列を作成して、その時系列をもとに、出力信号の時系列
を作成する。そして、出力信号の時系列と前記入出力命
令情報に含まれる出力命令に対応する出力信号とを比較
して、RTレベルモデルが到達した動作終了状態ととも
に出力命令を抽出する。これにより、RTレベルモデル
の動作の解析が確実に可能となる。
【0013】また、請求項3の発明では、前記請求項1
の論理回路モデルの変換方法における動作解析ステップ
は、前記解析対象命令に含まれる入力命令に対応する1
または2以上の入力信号を1クロック毎に作成するステ
ップと、前記入力信号を用いて前記RTレベルモデルを
1クロック毎に実行するとともに、出力信号を1クロッ
ク毎に作成するステップと、前記RTレベルモデルが前
記第2の状態に到達したときのその状態を、前記論理回
路ブロックの動作として1クロック毎に抽出するステッ
プと、前記出力信号と、前記入出力命令情報に含まれる
出力命令と前記出力命令に対応する出力信号の関係とを
比較して、前記出力命令を前記入出力命令情報に含まれ
る出力命令の中から、前記論理回路ブロックの動作とし
て1クロック毎に抽出するステップとを有するものとす
る。
【0014】請求項3の発明によると、1クロック毎
に、入力信号及び出力信号を作成するとともに、1クロ
ック毎に、RTレベルモデルの動作終了状態及び出力命
令を抽出する。これにより、入力信号の変化が応答信号
に依存する場合や、抽出する出力命令が入力信号をパラ
メータとして取り込む場合であっても、RTレベルモデ
ルの動作の解析が可能となる。
【0015】また、請求項4の発明では、前記請求項3
の論理回路モデルの変換方法における入出力命令情報に
は、出力命令として、出力信号とともに入力信号が応答
信号として関連付けられた応答信号付出力命令を含み、
前記動作解析ステップは、一のクロックにおいて前記応
答信号付出力命令を抽出したとき、前記入出力命令情報
の中で前記応答信号に対して指定したタイミングで、前
記応答信号付出力命令に対応する前記応答信号の値を変
化させて前記応答信号を作成して、前記一のクロックよ
りも後のクロックにおける前記RTレベルモデルの動作
を解析するものとする。
【0016】請求項4の発明によると、出力命令を受け
取る相手からの応答信号を必要とする出力命令を持つ論
理回路ブロックに対しても、応答信号の変化を待って行
う論理回路モデルの動作を正確に解析することによっ
て、RTレベルモデルを動作モデルに変換することがで
きる。
【0017】また、請求項5の発明では、前記請求項3
の論理回路モデルの変換方法における入出力命令情報に
は、入力命令として、入力信号とともに出力信号が応答
信号として関連付けられた応答信号付入力命令を含み、
前記動作解析ステップは、一のクロックにおいて前記応
答信号付入力命令を前記解析対象命令とするとき、前記
入出力命令情報の中で前記応答信号に対して指定したタ
イミングで変化する、前記応答信号付入力命令に対応す
る前記応答信号の値をもとに前記応答信号を作成して、
前記一のクロックよりも後のクロックにおける前記RT
レベルモデルの動作を解析するものとする。
【0018】請求項5の発明によると、入力命令を発し
た相手への応答信号を必要とする入力命令を持つ論理回
路ブロックに対しても、応答信号の変化に伴い値が変化
する入力信号に対するRTレベルモデルの動作を正確に
解析することによって、論理回路モデルを動作モデルに
変換することができる。
【0019】また、請求項6の発明では、前記請求項3
の論理回路モデルの変換方法における入出力命令情報に
は、出力命令として、入力信号が返値として関連付けら
れた返値付出力命令を含み、前記動作解析ステップは、
前記返値付出力命令の返値となる入力信号の値に依存し
て前記RTレベルモデルの動作が変化するとき、前記返
値として取り得る値の組合せ毎に、前記RTレベルモデ
ルの動作を解析するものとする。
【0020】請求項6の発明によると、出力命令を受け
取る相手からの信号を返値として使用する出力命令を持
つ論理回路ブロックに対しても、出力命令を受け取る相
手からの信号の信号値に応じて動作が変化する論理回路
モデルの動作を正確に解析することによって、RTレベ
ルモデルを動作モデルに変換することができる。
【0021】また、請求項7の発明では、前記請求項3
の論理回路モデルの変換方法における入出力命令情報に
は、入力命令として、出力信号が返値として関連付けら
れた返値付入力命令を含み、前記動作解析ステップは、
前記入出力命令情報の中で前記出力信号に対して指定さ
れたクロックの前記出力信号の値を、前記返値付入力命
令の前記返値として抽出して、前記RTレベルモデルの
動作を解析するものとする。
【0022】請求項7の発明によると、入力命令を発し
た相手への信号が返値としての意味を持つ論理回路ブロ
ックに対しても、論理回路モデルの状態遷移と、出力信
号の変化に対応する出力命令に加えて、入力命令を発し
た相手への出力信号の値を返値として抽出することによ
って、RTレベルモデルを動作モデルに変換することが
できる。
【0023】また、請求項8の発明では、前記請求項1
の論理回路モデルの変換方法における状態設定ステップ
は、前記論理回路ブロックが入力命令を受け付けていな
いとき、前記論理回路ブロックの状態が変化しない状態
または有限個の状態を繰り返す状態を、前記動作開始状
態及び前記動作終了状態として設定するものとする。
【0024】請求項8の発明によると、論理回路ブロッ
クが入力命令を受け付けていないときに時間が変化して
も状態が変化しない状態、または有限個の状態を繰り返
す状態を定常状態とし、定常状態を動作開始状態と動作
終了状態として設定することによって、動作開始状態と
動作終了状態の設定を容易に行うことができる。
【0025】また、請求項9の発明では、前記請求項1
の論理回路モデルの変換方法における状態設定ステップ
は、前記論理回路ブロックの状態を特定する状態変数の
うち、前記入出力命令情報に含まれる出力命令を認識す
るために用いられる出力信号に影響を与える前記状態変
数を、制御変数として選択し、選択した前記制御変数が
特定する1または2以上の状態を、前記動作開始状態及
び前記動作終了状態として設定するものとする。
【0026】請求項9の発明によると、出力命令を認識
するために用いられる出力信号に影響を与える状態変数
を制御変数とし、制御変数を用いて動作開始状態と動作
終了状態を設定することによって、動作開始状態と動作
終了状態の選択やRTレベルモデルの動作の解析におい
て必要となる演算量を削減することができる。
【0027】また、請求項10の発明では、前記請求項
9の論理回路モデルの変換方法における状態設定ステッ
プは、前記制御変数が特定する1または2以上の状態の
うち、前記制御変数の全部または一部の値が同一となる
状態をまとめて1の状態として取り扱い、前記動作開始
状態及び前記動作終了状態を設定するものとする。
【0028】請求項10の発明によると、制御変数の全
部または一部の値が同一となる状態をまとめて1の状態
として取り扱い、動作開始状態及び前記動作終了状態を
設定することよって、動作開始状態と動作終了状態の選
択やRTレベルモデルの動作の解析において必要となる
演算量を削減することができる。
【0029】また、請求項11の発明では、前記請求項
9の論理回路モデルの変換方法における状態設定ステッ
プは、前記RTレベルモデルの1クロックの動作におい
て、前記制御変数の更新に寄与する前記状態変数がある
とき、その状態変数をさらに前記制御変数として選択す
るものとする。
【0030】
【発明の実施の形態】以下、本発明の各実施形態につい
て、図面を参照しながら説明する。
【0031】(第1の実施形態)本発明の第1の実施形
態では、請求項1、請求項2及び請求項8に係る発明に
ついて、図1〜図12を参照しながら説明する。
【0032】図1は、本発明の各実施形態に係る論理回
路モデルの変換方法の概略構成を表す図である。図1に
おいて、RTレベルモデルA1は、変換対象とする論理
回路ブロックの詳細な動作がRTレベルで記述されたモ
デル、入出力命令情報A2は、変換対象とする論理回路
ブロックの入出力信号と論理回路ブロックの入出力命令
との対応関係を示す情報である。また、動作モデルA3
は変換後の抽象度の高い動作モデルである。そして、各
実施形態に係る論理回路モデルの変換方法では、記述変
換手段1が、RTレベルモデルA1を、入出力命令情報
A2を用いて、動作モデルA3に変換する。
【0033】図2は本実施形態が変換対象とする論理回
路ブロックのRTレベルモデルA1を表す図である。図
2のRTレベルモデルA1はVerilog−HDLを
用いて記述されており、入出力信号の宣言部(2行、3
行)、内部レジスタの宣言部(4行)、及びクロック
(信号clk)毎に実行される動作記述部(6〜12
行)によって構成されている。また、動作記述部は内部
レジスタの更新処理(7行、9〜11行)及び条件判定
処理(6行)を有している。
【0034】まず、第1の実施形態で用いる入出力命令
情報A2について、図3を参照しながら説明する。図3
は本実施形態における入出力命令情報A2の一例を表す
図である。図3の入出力命令情報A2では、左から入出
力命令を表す関数の宣言(fuction)、入出力信
号名(port)、及び入出力信号と入出力命令との対
応関係(type)が記述されている。ここで、「ty
pe」の欄における宣言はhigh(図中3a、3e、
3f)は、信号値1が命令の発生を表し、信号値0が入
力命令を与えていないときであることを示しており、ま
た、宣言change(図中3b、3c、3d)は、信
号値の変化が命令の発生を表し、入力命令を与えていな
いときの状態では、信号値は変化後の値を保つことを示
している。また、図3の最下欄(図中3g)では、「f
unction」の欄にCLOCKと記述されており、
clkはクロック信号であることを示している。
【0035】次に、記述変換手段1によって実行される
記述変換の方法について、図4を参照しながら説明す
る。図4は、各実施形態における論理回路モデルの変換
方法を示すフローチャートである。
【0036】図4に示すように、まず処理B1では、論
理回路ブロックに対する動作開始状態と動作終了状態を
設定し、処理B2に進む。ここで、論理回路ブロックの
状態は、例えば入力信号及び内部レジスタ値の組合せを
用いて表すことができる。なお、動作開始状態と動作終
了状態とは、後述する処理B4において論理回路ブロッ
クの動作を解析する場合、それぞれ動作の解析を開始す
る状態と終了する状態である。処理B2では、入出力命
令情報A2から論理回路ブロックに対する1つの入力命
令(解析対象命令に対応する)を選択し、処理B3に進
む。処理B3では、処理B1で設定した動作開始状態の
中から1つの状態(第1の状態に対応する)を選択し、
処理B4に進む。処理B4では、処理B3で選択した動
作開始状態に対して、処理B2で選択した入力命令を与
えたとき、RTレベルモデルA1を解析して、動作終了
状態のいずれかの1の状態(第2の状態に対応する)に
到達するまでの論理回路ブロックの動作を抽出し、そし
て処理B5に進む。
【0037】次に、処理B5では、処理B1で選択した
全ての動作開始状態に対して、処理B2で選択した入力
命令を与えたときの動作の抽出が行われたか否かを判定
する。そして、まだ未処理の動作開始状態が存在すると
き(処理B5でYES)は処理B3に戻り、全ての動作
開始状態に対して動作の抽出が終了するまで処理B3〜
処理B5を繰り返す。一方、全ての動作開始状態につい
て動作の抽出が行われているとき(処理B5でNO)は
処理B6に進み、入出力命令情報A2における全ての入
力命令に対する動作の抽出を終了したか否かを判定す
る。そして、まだ未処理の入力命令が存在するとき(処
理B6でYES)は処理B2に戻り、全ての入力命令に
対して動作の抽出が終了するまで処理B2〜処理B6を
繰り返す。一方、全ての入力命令に対して動作の抽出を
終了しているとき(処理B6でNO)は処理B7に進
み、最後に、処理B4で抽出した動作をまとめて、論理
回路ブロックの動作モデルA3を作成する。
【0038】図5は、図4に示す処理B1、すなわち動
作開始状態と動作終了状態を設定する方法を示すフロー
チャートである。
【0039】図5に示すように、まず、処理F1では、
論理回路ブロックの状態を表す状態変数として入力信号
とレジスタを抽出し、処理F2に進む。処理F2では、
入力命令を与えていない状態において、値が既定されて
いる入力信号に既定値を与え、処理F3に進む。これに
より、処理F1で抽出した状態変数の一部は定数に固定
される。処理F3では、RTレベルモデルA1を解析
し、クロック信号以外の入力信号を変化させないときの
クロック毎の状態遷移を解析し、定常状態を抽出する。
ここで、定常状態とは、1クロック進めても状態が変化
しない状態、または複数クロック後に同じ状態に戻る状
態である。なお、入力信号が状態変数に含まれているた
め、状態遷移に分岐は存在せず、また入力信号は状態遷
移により変化しないため、ある状態が定常状態であるか
否かを判定するには、最大でもレジスタ値の組合せの数
と等しいクロック数の状態遷移を調べればよい。なお、
本発明における定常状態を抽出する方法は、ここに述べ
た方法に限定されるものではない。
【0040】最後に、処理F4では、処理F3で抽出し
た定常状態を動作開始状態と動作終了状態として設定す
る。なお、本発明における動作開始状態と動作終了状態
の設定方法は、ここで述べた方法に限定されるものでは
ない。例えば、使用者が手入力によって、動作開始状態
と動作終了状態を直接設定するなどの方法も考えられ
る。また、ここでは、動作開始状態と動作終了状態を共
通に設定したが、それぞれ別の状態を設定することもで
きる。
【0041】図6は、図4に示す処理B4、すなわち動
作解析方法を表すフローチャートである。
【0042】図6に示すように、まず処理C1では、処
理B2で選択した解析対象命令としての入力命令を入力
したときの入力信号の変化と、動作開始状態における入
力信号値とを用いて入力信号を作成する。そして、処理
C2に進む。処理C2では、処理B3で選択した第1の
状態としての動作開始状態において、入力命令が与えら
れていないときの動作開始前の出力信号値を求め記録
し、処理C3に進む。処理C3では、処理C1で作成し
た入力信号に応じて入力信号値を更新し、処理C4に進
む。処理C4では、処理C3で更新した入力信号値に対
する出力信号値を求め記録し、処理C5に進む。
【0043】次に、処理C5では、論理回路ブロックの
状態を調べ、終了状態に到達しているか否かを判定す
る。このとき、論理回路ブロックが第2の状態としての
動作終了状態に到達していないか、あるいは、入力命令
に関する入力信号値の変化が終了していないときは、終
了状態に到達していないと判定(処理C5でNO)して
処理C6に進む。一方、第2の状態としての動作終了状
態に到達しており、しかも入力信号値の変化が終了して
いるときは、終了状態に到達していると判定(処理C5
でYES)して処理C7に進む。処理C6では、1クロ
ックの動作を実行して論理回路ブロックの状態を更新し
た後、処理C3に戻り、処理C5で終了状態に到達する
まで処理C3〜処理C6を繰り返す。一方、処理C7で
は、論理回路ブロックが到達した動作終了状態を抽出
し、処理C8に進む。
【0044】最後に、処理C8では、処理C2及び処理
C4で記録した出力信号系列と、入出力命令情報A1に
含まれる出力命令に対応する出力信号パターンとの比較
を行って、対応する出力命令を抽出し出力命令列を作成
する。ここで、複数の出力命令が抽出された場合、先に
認識された出力命令を出力命令列の先頭に配置し、同時
に認識されたときは、任意の順序で並べることによって
出力命令列を作成すればよい。なお、本発明における出
力命令列を並べる順序は、本順序に限定されるものでは
ない。
【0045】なお、入力命令を与えていない状態におい
てクロックを進めると、全ての状態はいずれかの定常状
態に到達する。従って、本実施形態のように定常状態を
動作終了状態として用いた場合、全ての動作開始状態と
入力命令との組合せに対しクロックを進めると、いずれ
かの動作終了状態に到達し、図6に示した動作の解析を
正常に終了することができる。
【0046】一方、手入力などによって動作終了状態を
設定する場合は、処理C5において動作終了状態に到達
せず、図6に示した処理が終了しない場合がある。この
ような場合、処理B4の実行前または実行中に、設定し
た動作開始状態と入力命令との組合せに対して、動作終
了状態に到達するか否かを判定する。そして、動作終了
状態に到達しない場合は、動作開始状態と動作終了状態
の設定に問題があることを知らせることによって、処理
を終了することができることは言うまでもない。
【0047】なお、本実施形態においては、入力命令と
動作開始状態の全てに対し動作を解析する際に、動作開
始状態を優先して変化させているが、本発明において、
この順序に限定されるものではない。
【0048】なお、作成した動作モデルA3をシミュレ
ーションで用いる際には、さらに命令入力時の動作開始
状態を設定する手段が必要になるが、例えば、起動時の
動作開始状態と、各動作終了状態に対する次の入力命令
を受けた時の動作開始状態とを別途設定することによっ
て、簡単に動作モデルA3に加えることができる。ま
た、本実施形態のように、動作開始状態と動作終了状態
として同じ状態を設定することによって、動作終了状態
と動作開始状態との関係を指定する必要がなくなること
は言うまでもない。また、本実施形態において、起動時
の動作開始状態は、シミュレーションの開始時に別途外
部から設定することとして、作成される動作モデルA3
の中では特に指定していない。しかしながら、例えば、
全ての入力信号値とレジスタ値を0に設定したときに到
達する動作終了状態を求め、その動作終了状態に対応す
る動作開始状態を、起動時の動作開始状態に設定する方
法が考えられる。
【0049】なお、本実施形態において、設定した動作
開始状態の全ての組合せに対して動作を解析している
が、発生する可能性のない動作開始状態は除外して動作
を解析できることは言うまでもない。例えば、別途設定
した起動時の動作開始状態に対する動作を最初に解析
し、その結果得られた動作終了状態に対応する動作開始
状態を発生する可能性のある動作開始状態に設定する。
そして、以後発生する可能性のある動作開始状態に対す
る動作を解析し、その動作開始状態に対する動作だけを
求めることができる。
【0050】上述した本実施形態に係る論理回路モデル
の変換方法を踏まえて、図2に示すRTレベルモデルA
1と図3に示す入出力命令情報A2を例として用い、図
4に示す変換方法に従って、記述変換手段1が動作モデ
ルA3を作成する手順について具体的に説明する。
【0051】記述変換手段1は、まず、処理B1では、
図5に示した方法に従い、動作開始状態と動作終了状態
を設定する。処理B1において、まず、処理F1では、
状態変数として図2に示すRTレベルモデルA1の入力
信号in、sel、dinとレジスタff_in、oe
1、oe2、doutを選択し、処理F2に進む。処理
F2では、入力信号値を固定し、処理F3に進む。ここ
では、図3の3aに示す通り、入力信号inに対してh
ighと指定しているため、入力命令を与えていないと
きの入力信号値は0であるので入力信号値を0に固定す
る。処理F3では、図2に示すRTレベルモデルA1を
解析し、図7に示すような8種類の状態7a〜7hを定
常状態として抽出する。そして、処理F4に進むが、処
理F4では、抽出した8つの定常状態を動作開始状態と
動作終了状態として設定する。
【0052】次に、記述変換手段1は、処理B2に進
み、図3に示す入出力命令情報A2から解析対象命令と
しての1つの命令を選択する。ここでは、例として、図
中3aで指定されている入力命令inを選択し、処理B
3に進む。処理B3では、処理B1で設定した動作開始
状態の中から第1の状態としての1つの状態を選択し、
処理B4に進む。ここでは、例として、図7に示す状態
7cを選択する。処理B4では、図6に示す動作解析処
理に従って、入力命令inに対する、図2に示すRTレ
ベルモデルA1の動作を解析する。
【0053】ここで、処理B4が行う動作解析処理につ
いて、図6に示すフローチャートに従って、図2及び図
7〜図10を参照しながら具体的に説明する。ここで、
図8は入力信号を表し、また図9は出力信号を表し、さ
らに図10は内部レジスタ値を表す図である。
【0054】まず、処理B2で選択した入力命令inを
論理回路ブロックに入力したときの入力信号の変化と、
図7に示す動作開始状態7cにおける入力信号値とを用
いて入力信号を作成する(処理C1)。ここで、図3の
3aにおいて、入力信号inに対してhighと宣言し
ているので、入力直後に入力信号inの値を1にした
後、2クロック目以降は0にする。図8において、8a
は入力命令inを入力する前の入力信号値、8bは入力
命令inを入力した最初のクロックにおける入力信号
値、8cは2クロック目の入力信号値である。そして、
入力命令inに対する信号は1クロック目において与え
ているため、2クロック目以後の入力信号値は同じ値に
なる。次に、入力信号値8aに対する動作開始前の出力
信号値9aを求め記録する(処理C2)。そして、入力
信号値を8bに更新し(処理C3)、1クロック目の出
力信号値9bを求め記録する(処理C4)。そして、処
理C5では、現在の入力信号値と状態を調べるが、1ク
ロック目において入力信号inの値の変化が終了してい
ないため、終了状態とみなさず処理C6に進む(処理C
5でNO)。処理C6では、1クロックの動作を実行
し、内部レジスタ値を10cに変更することによって状
態を変更する。ただし、図10において、10aと10
bは動作開始状態におけるレジスタ値である。
【0055】次に、処理C3に戻った後は、上述と同様
の処理を2クロック目において繰り返して、処理C5ま
で進む。そして、処理C5では、現在の入力信号値と状
態を調べるが、2クロック目においてレジスタff_i
nの値が1になっており第2の状態としての動作終了状
態に到達していないため、終了状態とみなさず処理C6
に進む(処理C5でNO)。処理C6で1クロックの動
作を実行し、以降の処理は、上述と同様の処理を3クロ
ック目において繰り返して、再び処理C5まで進む。そ
して、処理C5では、現在の入力信号値と状態を調べる
が、3クロック目においてレジスタoe1の値が1にな
っており動作終了状態に到達していないため、終了状態
とみなさず処理C6に進む(処理C5でNO)。処理C
6で1クロックの動作を実行し、以降の処理は、上述と
同様の処理を4クロック目において繰り返して、再び処
理C5まで進む。
【0056】そして、処理C5では、現在の入力信号値
と状態を調べるが、このとき入力命令inによる入力信
号値の変化は終了しており、入力信号とレジスタ値が図
7における動作終了状態7dと一致するため、終了状態
とみなして処理C7に進む(処理C5でYES)。処理
C7では、論理回路ブロックのその動作終了状態7dを
抽出し、処理C8に進む。最後に、処理C8では、処理
C2及び処理C4で記録した図9に示す出力信号系列
と、図2に示す入出力命令情報A2に含まれる出力命令
に対応する出力信号パターンとを比較する。ここでは、
図9において、9cに示す2クロック目において出力信
号doutが変化しているので、これが出力命令dou
tに対応し、また9dに示す3クロック目において出力
信号oe1の値が1になっているので、これが出力命令
oe1に対応している。従って、命令dout及び命令
oe1を抽出する。なお、この例での抽出結果は、後述
する図11における11cに該当している。
【0057】このように、処理B4によって動作解析処
理を行った後、処理B5に進む。そして、以下、図4に
示すフローチャートに従って、処理B2から処理B6を
繰り返して行うことによって、図7に示す各動作開始状
態に対して各入力命令を入力した場合の動作を抽出す
る。図11は、図7に示す7a〜7hの各状態に対して
入力命令inを入力した場合の動作を抽出した結果であ
る。図11では、左から入力前のsel、din、do
utの値、入力命令in実行後のsel、din、do
utの値、及び抽出した出力命令列が記述されている。
なお、in、ff_in、oe1、oe2の各値は、全
ての動作開始状態と動作終了状態で共通の値を持つため
省略している。
【0058】図7に示す全ての動作開始状態に対して、
全ての入力命令を入力したときの動作を抽出した後、処
理B7に進み、抽出した動作をまとめて論理回路に対す
る動作モデルA3を作成する。このとき、C言語で動作
モデルA3を記述する場合、状態を表す値を格納する変
数と出力命令に対応する関数とを定義し、さらに、各入
力命令毎に各関数内で動作開始状態毎に処理を分け、出
力命令列に対応する関数列の呼び出しと動作終了状態の
変更を行う処理とを記述した関数を定義することによっ
て、動作モデルA3を作成することができる。
【0059】また、論理回路ブロックの状態を表す値の
中で、動作開始状態と動作終了状態の全ての状態におい
て同じ値を持つものは、動作開始状態の区別と動作終了
状態の区別に不要であるので、動作モデルA3を作成す
る際に省略することができる。また、動作開始状態を表
す変数値を、条件式や変数への代入文の右辺の式に含め
ることによって、複数の動作開始状態における処理に含
まれる同一の出力命令や変数の変更をまとめて記述する
こともできる。
【0060】以上の処理によって作成される動作モデル
A3の一例を図12に示す。図12は、本実施形態にお
いて作成された動作モデルA3をC言語で記述したもの
である。図12に示す動作モデルA3は、論理回路ブロ
ックの状態を区別するために用いられる状態変数保存用
の変数の宣言(1行)、出力命令用の関数の宣言(3〜
5行)、各入力命令に対応した関数(7〜30行)によ
って構成されている。ここで、各入力命令に対応する関
数名には、他のブロックと関数とを区別するためにブロ
ックのモジュール名を付加しており、また、入力命令i
nに対する動作は、7〜19行にまとめられている。な
お、この例では、初期状態での動作開始状態は全ての変
数値が0となる図7に示す状態7aとし、動作終了状態
が次の動作開始状態になるとしている。また、出力命令
用の関数の宣言を関数へのポインタとしているのは、他
のブロックの入力命令関数のアドレスを代入することに
よって、複数のブロックを接続することを想定している
ためである。
【0061】なお、本発明において、抽出した動作をも
とに動作モデルA3を作成する方法は、ここに述べた方
法に限定されるものではない。また、ここに示した動作
モデルの記述スタイルは一例であり、本発明はこの記述
スタイルに限定されるものではない。
【0062】以上のように、本実施形態に示した論理回
路モデルの変換方法によれば、RTレベルで詳細に記述
された論理回路モデルに対し、論理回路ブロックの入出
力信号とブロックの入出力命令との対応関係を示す入出
力命令情報A2を与える。これによって、各入力命令に
対する論理回路ブロックの動作を抽出し、クロック概念
を含まない逐次的なシミュレーションで用いるための抽
象度の高い動作モデルA3を簡単に作成することができ
る。
【0063】なお、本実施形態では、図2に示すRTレ
ベルモデルA1はVerilog−HDLを用いて記述
し、図12に示す動作モデルA3はC言語を用いて記述
しているが、本実施形態はこれらの記述言語に依存する
ものではなく、VHDLやC++などのその他の記述言
語を用いることによっても、本実施形態は同様に実施可
能である。
【0064】なお、本実施形態では、RTレベルモデル
A1に対する入力信号の全てがいずれかの命令に対応し
ている場合について説明した。しかしながら、テスト回
路用の入力信号などのように、動作モデルA3に必要の
ない機能で用いられる入力信号に対しては、あらかじめ
固定値を与え、不要な論理を例えば特開2001−22
808号公報に開示されている方法に従って削減する。
その後、本実施形態に示した方法を適用することによっ
て、より効率的に、動作モデルA3に変換できることは
言うまでもない。
【0065】(第2の実施形態)第2の実施形態では、
請求項1及び請求項2に係る発明について、図2〜図6
及び図13〜図19を参照しながら説明する。
【0066】第1の実施形態では、1つの入出力信号の
1クロックの値が1つの入出力命令に対応している場合
について説明した。しかしながら、複数の信号の組合せ
が1つの命令としての意味を持つ場合や、信号の一部が
1つの命令に対応するパラメータとしての意味を持つ場
合や、複数クロックにおける信号の変化が1つの命令に
対応する場合もある。
【0067】そこで、本発明に係る第2の実施形態で
は、複数の信号の複数クロックにおける信号の変化が1
つの入出力命令に対応する入出力信号を持つ論理回路ブ
ロックのRTレベルモデルA1を動作モデルA3に変換
する方法について説明する。
【0068】図13は本実施形態における入出力命令情
報A2の一例を表す図である。図13の入出力命令情報
A2では、第1の実施形態における図3に示す情報に加
え、信号変化のタイミング(timing)が記述され
ている。ここで、図中13bや13cなどに示すように
「function」の欄が空白になっている行は、上
の行で指定されている関数に対応する命令についての情
報であることを示している。例えば、13aにおいて指
定された関数inに対応する命令はin、din、se
lの3つの信号に関係付けられている。また、「typ
e」の欄に関して、13bや13cなどに示すようにp
arameterと宣言された信号は、入力信号の場合
は指定されたタイミングで入力命令の引数値を入力信号
に設定することを示しており、一方、出力信号の場合は
指定されたタイミングで出力された信号値を出力命令の
引数とすることを示している。また、入力信号がパラメ
ータに設定されている場合は、指定されたタイミング以
外での値は既定されておらず任意であるので、ここでは
0になるとみなす。また、出力命令を抽出するとき、パ
ラメータに設定された出力信号の値は出力命令が発生し
たか否かの判定を行う際には用いない。また、タイミン
グの指定は入力命令または出力命令の開始クロックを0
として、信号変化のタイミングやパラメータ信号の取り
込みタイミングをクロック単位で指定している。
【0069】次に、本実施形態では、第1の実施形態と
同様に、図4及び図6に示したフローチャートに従って
動作モデルA3を作成する方法について説明する。ただ
し、処理B2で入力命令を選択するときは、パラメータ
の値毎に異なる命令とみなして以後の処理を行う。ま
た、処理B4で引数を持つ出力信号が抽出されたとき
は、図13に示す入出力命令情報A2において指定され
たタイミングの出力信号の値を引数値とする。ここで、
複数の出力命令が抽出された場合、抽出された出力命令
に関する信号値の変化が先に開始される出力命令を、出
力命令列の先頭に配置する。また、信号値の変化が同時
のときは、任意の順序で並べることによって出力命令列
を作成すればよい。なお、本発明において、この出力命
令列を並べる順序は本順序に限定されるものではない。
【0070】以下では、図2で示したRTレベルモデル
A1と図13で示した入出力命令情報A2を用いて、記
述変換手段1が動作モデルA3を作成する手順を具体的
に説明する。
【0071】記述変換手段1は、まず、処理B1では、
図5に示した方法に従い、動作開始状態と動作終了状態
を設定し、処理B2に進む。ここで、論理回路ブロック
の定常状態は、図2に示すRTレベルモデルA1におけ
る入力信号in、sel、dinの値とレジスタff_
in、oe1、oe2、doutの値を用いて表すこと
ができる。そして、ここでは、第1の実施形態と同様に
して、定常状態を求めて動作開始状態と動作終了状態に
設定する。ただし、本実施形態では、図13に示す通
り、selとdinがparameterと宣言されて
いるため、入力命令を与えていない状態における値が0
に固定される。従って、設定される状態は図14で示す
2種類の状態14a及び状態14bになる。
【0072】次に、処理B2では、図13に示す入出力
命令情報A2から解析対象命令としての1つの命令を選
択し、処理B3に進む。ここでは、例として、まず、1
3aにおいて指定されたinという命令を選択し、また
パラメータ信号dinに対応する引数として1を選択
し、さらにパラメータ信号selに対応する引数として
1を選択する。処理B3では、処理B1で設定した動作
開始状態の中から第1の状態としての1つの状態を選択
し、処理B4に進む。ここでは、例として、状態13a
を選択する。処理B4では、図6に示す動作解析方法に
従って、入力命令inに対する図2に示すRTレベルモ
デルA1の動作を解析する。
【0073】ここで、処理B4が行う動作解析処理につ
いて、図6に示すフローチャートに従って、図13〜図
17を参照しながら具体的に説明する。図15は入力信
号を表し、また図16は出力信号を表し、さらに図17
は内部レジスタ値を表す図である。
【0074】まず、処理B2で選択した入力命令inを
論理回路ブロックに入力したときの入力信号の変化と、
図14に示す動作開始状態14aにおける入力信号値を
用いて入力信号を作成する(処理C1)。ここで、図1
3に示す13aにおいて、入力信号inに対してhig
hと宣言しているので、入力直後に入力信号inの値を
1にした後、2クロック目以降は0にする。また、入力
信号dinに対してparameterと宣言してお
り、タイミングを0に指定しているので、入力直後に入
力信号dinを引数として選択した値1にした後、2ク
ロック目以降は0にする。さらに、入力信号selに対
してparameterと宣言しており、タイミングを
1に指定しているので、2クロック目に入力信号sel
を引数として選択した値1にした後、3クロック目以降
は0にする。なお、図15において、15aは入力命令
inを入力する前の入力信号値、15bは入力命令in
を入力した最初のクロックにおける入力信号値、15c
は2クロック目の入力信号値である。そして、入力命令
inに対する信号は1クロック目で与えられているた
め、2クロック目以後の入力信号値は同じ値となる。
【0075】次に、入力信号値15aに対する動作開始
前の出力信号値16aを求め記録する(処理C2)。そ
して、入力信号値を15bに更新し(処理C3)、1ク
ロック目の出力信号値16bを求め記録する(処理C
4)。そして、処理C5では、現在の入力信号値と状態
を調べるが、1クロック目において入力命令による入力
信号の変化が終了していないため、終了状態とみなさず
処理C6に進む(処理C5でNO)。処理C6では、1
クロックの動作を実行し、内部レジスタ値を17cに変
更することによって状態を変更する。ただし、図17に
おいて、17aと17bは動作開始状態におけるレジス
タ値である。
【0076】次に、処理C3に戻った後は、上述と同様
の処理を2クロック目において繰り返して、処理C5ま
で進む。そして、処理C5では、現在の入力信号値と状
態を調べるが、2クロック目において入力命令inによ
る入力信号の変化が終了していないため、終了状態とみ
なさず処理C6に進む(処理C5でNO)。処理C6で
1クロックの動作を実行し、以降の処理は、上述と同様
の処理を3クロック目において繰り返して、再び処理C
5まで進む。そして、処理C5では、現在の入力信号値
と状態を調べるが、3クロック目においてレジスタoe
2の値が1になっており第2の状態としての動作終了状
態に到達していないため、終了状態とみなさず処理C6
に進む(処理C5でNO)。処理C6で1クロックの動
作を実行し、以降の処理は、上述と同様の処理を4クロ
ック目において繰り返して、再び処理C5まで進む。
【0077】そして、処理C5では、現在の入力信号値
と状態を調べるが、このとき入力命令inによる入力信
号の変化は終了しており、入力信号とレジスタ値が図1
4に示す動作終了状態14bと一致するため、終了状態
とみなして処理C7に進む(処理C5でYES)。処理
C7では、論理回路ブロックの動作終了状態14bを抽
出し、処理C8に進む。最後に、処理C8では、処理C
2及び処理C4で記録した図16に示す出力信号系列
と、図13に示す入出力命令情報A2に含まれる出力命
令に対応する出力信号パターンとを比較する。ここで
は、図16の16dに示す3クロック目において出力信
号oe2の値が1になっているので、これが出力命令o
e2に対応する。その結果、出力命令oe2を抽出す
る。また、出力命令oe2は出力信号doutを引数と
しており、出力信号doutのタイミングを1に指定し
ているので、出力信号oe2の値が1となっているクロ
ックの次のクロックである16eに示す出力信号dou
tの値1を出力命令oe2の引数とする。なお、この抽
出結果は、後述する図18における18gに該当してい
る。
【0078】このように処理B4による動作解析処理が
行われた後、処理B5に進む。そして、以下、同様に、
図4に示すフローチャートに従って、処理B2から処理
B6を繰り返して行うことによって、図14に示す各動
作開始状態に対して各入力命令を入力した場合の動作を
抽出する。図18は、図14に示す14a及び14bの
各状態に対して入力命令inを入力した場合の動作を抽
出した結果である。図18では、左から引数を含む入力
命令、入力前のdoutの値、入力命令in実行後のd
outの値、及び抽出した出力命令列が記述されてい
る。なお、in、sel,din、ff_in、oe
1、oe2の各値は、全ての動作開始状態と動作終了状
態で共通の値を持つため省略している。
【0079】図14に示す全ての動作開始状態に対し
て、全ての入力命令を入力したときの動作を抽出した
後、処理B7に進み、抽出した動作をまとめて論理回路
ブロックに対する動作モデルA3を図19のように作成
する。ここで、図19は、本実施形態におけるC言語で
記述された動作モデルA3の一例を表す図である。図1
9に示す動作モデルA3は、論理回路の状態を区別する
ために用いる状態変数保存用の変数の宣言(1行)、出
力命令用の関数の宣言(3、4行)、入力命令に対応し
た関数(6〜15行)によって構成されている。ここ
で、各入力命令に対応する関数名には、他のブロックと
関数とを区別するためにブロックのモジュール名を付加
している。また、ここでは、各動作開始状態と入力命令
の引数に対する動作は、共通する出力命令と状態変数の
変更を、1つにまとめて記述している。
【0080】以上のように、本実施形態に示した論理回
路モデルの変換方法によれば、RTレベルで詳細に記述
された論理回路モデルに対し、論理回路ブロックの入出
力信号とブロックの入出力命令との対応関係を示す入出
力命令情報A2を与える。そして、この入出力命令情報
の中に、複数の信号の複数クロックにおける変化と1つ
の命令との対応関係が含まれている場合であっても、各
入力命令に対するRTレベルモデルA1の動作を抽出
し、クロック概念を含まない逐次的なシミュレーション
で用いるための抽象度の高い動作モデルA3を簡単に作
成することができる。
【0081】(第3の実施形態)本発明の第3の実施形
態では、請求項1、請求項3、請求項4及び請求項5に
係る発明について、図4及び図20〜図27を参照しな
がら説明する。
【0082】前述した第1及び第2の実施形態では、入
力命令は入力信号にのみ対応し、出力命令は出力信号に
のみ対応している場合について説明した。しかしなが
ら、ハンドシェイクプロトコルのように応答信号を必要
とする命令がある場合には、前述の実施形態は対応して
いない。なぜなら、応答信号を必要とする出力命令があ
る場合は、応答信号の変化待ちの状態から先の動作を解
析することができないため、動作終了状態に到達するこ
とができない。それゆえ、必要な動作を抽出することが
できず動作モデルA3を作成することができないからで
ある。また、応答信号を必要とする入力命令が存在し、
入力信号の変化が応答信号の変化に依存する場合は、入
力信号を作成することができないため、動作の解析を行
うことができず、それゆえ、動作モデルA3を作成する
ことができないからである。
【0083】そこで、本発明の第3の実施形態では、応
答信号を必要とする入出力命令を持つ論理回路ブロック
のRTレベルモデルA1を動作モデルA3に変換する方
法について説明する。
【0084】第3の実施形態においては、図20に示す
論理回路ブロックのRTレベルモデルA1を変換対象と
する。ここで、図20はRTレベルモデルA1をVer
ilog−HDLを用いて記述した一例を表す図であ
る。
【0085】まず、本実施形態において用いる入出力命
令情報A2について、図21を参照しながら説明する。
図21は本実施形態における入出力命令情報A2の一例
を表す図である。図21の入出力命令情報A2では、左
から入出力命令を表す関数の宣言(functio
n)、入出力信号名(port)、入出力信号と入出力
命令との対応関係(type)、及びタイミング(ti
ming)が記述されている。ここで、入力命令inは
応答信号付入力命令であり、同図中21bでは、入力命
令inに関する出力信号ackに対する情報を示してお
り、タイミングをxと指定しているのは、信号値1にな
るタイミングが不定であることを意味している。そし
て、21aにおいて、入力信号inのタイミングを0,
$xと指定しているのは、$xは出力信号ackの値が
1になるクロックxの値が入り、入力命令開始から出力
信号ackの値が1になるまで1になり、それ以後0に
なることを意味している。また、出力命令oe1は応答
信号付出力命令であり、21gにおいて、出力命令oe
1に関する入力信号ack1に対する情報を示してお
り、タイミングをx+1と指定しているのは、信号値1
になるタイミングは出力命令に関する信号変化の2クロ
ック目以後であることを意味している。そして、21f
において、出力信号doutのタイミングを$x+1と
指定しているのは、入力信号ack1の値が1になるク
ロックの値を引数として用いることを意味している。な
お、入力命令と出力命令の区別は最初に指定している信
号の方向で判断することができる。
【0086】次に、記述変換手段1によって実行される
記述変換の方法について説明する。第3の実施形態でも
同様に、記述変換は上述した図4に示す方法に従って行
われる。そのためここでは、前述の実施形態とは異なる
動作解析処理B4について、図22を参照しながら説明
する。図22は本実施形態における動作解析処理B4が
行う処理を表すフローチャートである。
【0087】図22に示すように、まず、処理D1で
は、処理B3で選択した第1の状態としての動作開始状
態において、入力命令が与えられていないときの動作開
始前の出力信号値を求め記録し、処理D2に進む。処理
D2では、論理回路ブロックに対する1クロック分の入
力信号を作成し、処理D3に進む。このとき、入出力命
令情報A2を参照して、選択した解析対象命令としての
入力命令に関する入力信号値の変化が必要なときは、そ
の変化を入力信号に反映する。また、入力命令に関する
入力信号の変化のタイミングが出力信号の変化に依存す
るとき、後述する処理D5で認識した出力信号の変化の
タイミングを用いて、入力信号の変化のタイミングを決
定する。また、後述する処理D4で応答信号付出力命令
を抽出しているとき、入出力命令情報A2を参照して、
抽出した出力命令に関する入力信号値の変化を入力信号
に反映する。また、応答信号付出力命令に関係付けられ
た入力信号の変化のタイミングが一定でないときは、指
定された範囲で最も早く変化するものとみなして入力信
号を変化させる。
【0088】次に、処理D3では、処理D2で更新した
入力信号値に対する出力信号値を求め出力信号系列に加
え、処理D4に進む。処理D4では、処理D3で記録し
た出力信号と入出力命令情報A2おいて指定された出力
命令に関する出力信号とを比較し、新たに発生した出力
命令を抽出する。ここで、出力命令の発生を判断すると
きに用いる信号の変化は、変化する値が固定された出力
信号の変化である。また、引数を持つ出力命令を抽出し
たときは、指定されたクロックにおける出力信号の値を
抽出して出力命令の引数とする。そして、処理D5に進
み、応答信号付入力命令に関する出力信号を調べ、入出
力命令情報A2において指定された応答信号の変化があ
ったか否かを判定し、処理D6に進む。
【0089】次に、処理D6では、終了状態に到達した
か否かを判定する。このとき、終了状態に到達している
とき(処理D6でYES)は処理D8に進み、一方、終
了状態に到達してないとき(処理D6でNO)は処理D
7に進む。ここで、終了状態とは、論理回路ブロックの
状態が第2の状態としての動作終了状態のいずれかの状
態に到達しており、かつ、入力命令に関連する入出力信
号の変化が終了しており、さらに処理D4で抽出した出
力命令に関する入出力信号の変化が終了している状態の
ことである。そして、処理D7に進んだときは、1クロ
ックの動作を実行して論理回路ブロックの状態を更新
し、処理D2に戻り、処理D6で終了状態に到達するま
で(処理D6でYES)処理D2〜処理D7を繰り返
す。一方、処理D8に進んだときは、処理D6において
到達した動作終了状態を抽出して、図22に示す動作解
析処理B4の処理を終了する。
【0090】なお、本実施形態において、入力命令に対
する応答信号が発生しないときは、入力命令に関する入
力信号の変化が終了しないため、図22で示した動作解
析処理が終了しない場合がある。このような場合、図2
2で示した動作解析処理の実行前または実行中に、入力
命令に関する入力信号の変化が発生するか否かを判定す
る。そして、入力信号の変化が発生しないときは、動作
の解析を行わないかまたは中断し、動作解析が実行でき
ないことを報告して終了することができる。また、その
入力命令と動作開始状態の組合せが発生したときは、エ
ラーを報告する動作モデルA3を作成することによっ
て、処理を終了することができることは言うまでもな
い。
【0091】以下では、図20で示したRTレベルモデ
ルA1と図21で示した入出力命令情報A2を用いて、
記述変換手段1が動作モデルA3を作成する手順を具体
的に説明する。
【0092】記述変換手段1は、まず、処理B1では、
図5に示した方法に従い、動作開始状態と動作終了状態
を設定する。ここで、上述の実施形態と同様にして、論
理回路ブロックの定常状態を求めると、図20に示すR
TレベルモデルA1の入力信号値が全て0であり、レジ
スタstateの値が0、1、2である3種類の状態を
抽出する。このとき、3種類の状態を動作開始状態と動
作終了状態として共通に設定してもよいが、ここでは、
3種類の状態のうちレジスタstateの値が0である
ものだけを動作開始状態として設定することにする。
【0093】次に、処理B2では、図21に示す入出力
命令情報A2から解析対象命令としての1つの命令を選
択する。ここでは、例として、まず、21aにおいて指
定された入力命令inを選択し、さらに引数の値をse
l、dinともに1とする。処理B3では、処理B1で
設定した動作開始状態から第1の状態としての1つの状
態を選択し、処理B4に進む。ここでは動作開始状態が
1種類であるので、その状態を選択する。そして、処理
B4では、図22に示した動作解析方法に従って、入力
命令inに対する図20に示すRTレベルモデルA1の
動作を解析する。
【0094】ここで、処理B4が行う動作解析処理につ
いて、図22に示すフローチャートに従って、図23〜
図26を参照しながら具体的に説明する。図23は処理
途中で作成される入力信号を表し、また図24は出力信
号を表し、さらに図25は内部レジスタ値を表す図であ
る。
【0095】まず、動作開始状態の入力信号値23aに
対する動作開始前の出力信号値24aを求め記録する
(処理D1)。次に、入力命令inによる1クロック目
の信号の変化を反映して入力信号23bを作成し、入力
信号として与える(処理D2)。そして、1クロック目
の出力信号値24bを求め記録し(処理D3)、記録し
た出力信号系列を調べ新たな出力命令が発生していない
か否かを調べる(処理D4)。ここでは、まだ対応する
出力命令は認識されない。次に、入力命令inの応答信
号ackを調べる(処理D5)。ここでは、まだ応答信
号ackの変化はない。そして、処理D6では、終了状
態に到達しているか否かを判定するが、まだ入力信号の
変化が終了していないので処理D7に進む(処理D6で
NO)。次に、処理D7では、1クロックの動作を実行
し、内部レジスタ値を25cに変更することによって状
態を変更し、処理D2に戻る。ただし、図25において
25a及び25bは動作開始状態におけるレジスタ値で
ある。
【0096】以後、処理D2から処理D7を繰り返す
が、2クロック目の処理D4では、出力信号oe2の値
が1に変化しているため、出力命令oe2の認識条件を
満たしているので、出力命令oe2を抽出する。そし
て、認識した出力命令oe2に対する応答信号ack2
の変化タイミングをx+1と指定しているので、最も早
いタイミングである1サイクル後、すなわち3クロック
目の処理D2において入力信号ack2の値を1に変化
させ、4クロック目の処理D2において0に戻す。ま
た、出力命令oe2のパラメータである出力信号dou
tのタイミングを$x+1と指定しており、さらに出力
命令oe2に対する応答信号ack2の変化タイミング
決定時においてxの値$xを0に設定している。このた
め、出力命令oe2の開始タイミングの1サイクル後で
ある3サイクル目の処理D4において、出力信号oe2
の値1を出力命令oe2の引数として抽出する。なお、
3サイクル目の出力信号oe2の値も1になっている
が、既に認識されている出力命令によって出力信号oe
2が1になる期間を$x+1と指定しており、また$x
を0に設定しているため、命令発生の1クロック後、す
なわち3サイクル目まで1になるので、ここでは新たな
出力命令とは認識しない。
【0097】さらに、3サイクル目の処理D5におい
て、入力命令inに対する応答信号ackの値が1にな
っており、また入力命令inに対する応答信号ackの
タイミングをxと指定しているため、入力命令inに対
するxの値$xを3に設定する。これにより、入力信号
inの値を1に設定するタイミングが命令発生の2サイ
クル後、すなわち3サイクル目までとなる。このため、
4サイクル目の処理D2において、入力信号inの値を
0にする。また、4サイクル目の処理D6において、論
理回路ブロックの状態が終了状態になっており、さらに
入力命令による信号の変化及び認識した出力命令による
信号の変化が終了しているので、処理D8に進む(処理
D6でYES)。そして、処理D8では、第2の状態と
しての動作終了状態を抽出し、動作解析処理B4を終了
する。なお、この例での抽出結果は、後述する図26に
おける26dに該当している。
【0098】このように、処理B4によって動作解析処
理を行った後、処理B5に進む。そして、以下、図4に
示すフローチャートに従って、処理B2から処理B6を
繰り返して行うことによって、各入力命令に対する動作
を抽出する。図26は、各入力命令と引数の組合せに対
して動作を抽出した結果である。図26では、左から引
数を含む入力命令、得られた出力命令列が記述されてい
る。また、この例では動作開始状態は1種類しか存在せ
ず、動作開始状態及び動作終了状態を区別する必要がな
いため状態を表す変数の値は省略している。また、入力
命令resetに対する出力命令はないため、図26の
26eに示すように、出力命令列の欄は空白としてい
る。
【0099】そして、最後に、処理B7は抽出した動作
をまとめて論理回路に対する動作モデルA3を作成す
る。図27は、本実施形態におけるC言語で記述した動
作モデルA3の一例を示す図である。図27に示す動作
モデルA3は、出力命令用の関数の宣言(1、2行)、
入力命令に対応した関数(4〜16行)によって構成さ
れている。ここで、各命令に対応する関数名には、他の
ブロックの関数と区別するためにブロックのモジュール
名を付加している。また、ここでは、各動作開始状態と
入力命令の引数に対する動作は、共通する出力命令と状
態変数の変更を、1つにまとめて記述している。なお、
この例では動作開始状態は1種類しか存在しないため、
状態を区別するための変数は必要としていない。
【0100】以上のように、本実施形態に示した論理回
路モデルの変換方法によれば、RTレベルで記述された
論理回路モデルに対し、論理回路ブロックの入出力信号
とブロックの入出力命令との対応関係を示す入出力命令
情報A2を与える。そして、この入出力命令情報A2の
中に、入力応答信号を持つ応答信号付出力命令や出力応
答信号を持つ応答信号付入力命令が含まれている場合で
あっても、各入力命令に対するRTレベルモデルA1の
動作を抽出し、クロック概念を含まない逐次的なシミュ
レーションで用いるための抽象度の高い動作モデルA3
を簡単に作成することができる。
【0101】(第4の実施形態)本発明の第4の実施形
態では、請求項1、請求項3、請求項6、及び請求項7
に係る発明について、図4及び図28〜図35を参照し
ながら説明する。
【0102】前述した第1〜第3の実施形態では、デー
タ読み込み命令のように出力命令が入力信号をパラメー
タとして取り込み、取り込んだ値に応じて論理回路ブロ
ックの動作が変化する場合や、データ読み込み命令のよ
うに入力命令が返値を必要とする場合には対応していな
い。なぜなら、前述した実施形態では、出力命令が入力
信号をパラメータとして取り込むときは、入力信号の値
が定まっていないため以後の動作の解析ができず、動作
モデルA3を作成することができないからである。ま
た、入力命令が返値を必要とするときは、返値とするべ
き値が不明であるため動作モデルA3を作成することが
できないからである。
【0103】そこで、本発明の第4の実施形態では、入
力信号をパラメータとして取り込み、取り込んだ値に応
じて論理回路ブロックの動作が変化し、さらに、入力命
令が返値を必要とする場合について、論理回路ブロック
のRTレベルモデルA1を動作モデルA3に変換する方
法について説明する。
【0104】本発明の第4の実施形態においては、図2
8に示す論理回路ブロックのRTレベルモデルA1を変
換対象とする。ここで、図28はRTレベルモデルA1
をVerilog−HDLを用いて記述した一例を表す
図である。
【0105】まず、本実施形態において用いる入出力命
令情報A2について、図29を参照しながら説明する。
図29は第4の実施形態における入出力命令情報A2の
一例を表す図である。図29の入出力命令情報A2で
は、左から入出力命令を表す関数の宣言(fuctio
n)、入出力信号名(port)、入出力信号と入出力
命令との対応関係(type)、及びタイミング(ti
ming)を記述している。ここで、同図中29bにお
いて、入力命令outに関する信号doutは出力信号
であり、「type」の欄でparameterと指定
しているため、入力命令outに対する返値とみなす。
そして、返値信号doutのタイミングを1と指定して
いるため、入力命令開始の1クロック後の値を返値とし
て用いる。また、29d及び29eにおいて、出力命令
rdに関する信号dinとerrは入力信号であり、
「type」の欄でparameterと指定している
ため、出力命令rdの返値とみなす。そして、返値信号
dinとerrのタイミングを1と指定しているため、
出力命令開始の1クロック後に出力命令の返値を設定す
る。この場合、動作解析時には値が定まっていないの
で、定数ではなく変数値を設定して動作の解析を行う。
【0106】次に、記述変換手段1によって実行される
記述変換の方法について説明する。本実施形態でも同様
に、記述変換は上述した図4に示す方法に従って行われ
る。そのためここでは、前述した実施形態とは異なる動
作解析処理B4について、図30を参照しながら説明す
る。図30は本実施形態における動作解析処理B4が行
う処理を表すフローチャートである。
【0107】図30に示すように、まず、処理E1で
は、処理B3で選択した第1の状態としての動作開始状
態において、解析対象命令としての入力命令が与えられ
ていないときの動作開始前の出力信号値を求め記録し、
処理E2に進む。処理E2では、論理回路ブロックに対
する1クロック分の入力信号を作成し、処理E3に進
む。このとき、後述する処理E7で返値付出力命令を抽
出しているとき、入出力命令情報A2を参照して、抽出
した出力命令に関する入力信号の値を変数値にする。処
理E3では、処理E2で更新した入力信号値に対する出
力信号値を求め出力信号系列に加える。次に、処理E4
に進み、入力信号または論理回路ブロックの状態を表す
ために用いている状態変数に変数値が設定されていると
き、変数値のままで当該クロックの動作の解析が可能か
否かを判定する。このとき、後述する処理E7で出力命
令の発生を判定するために用いる出力信号の値、または
後述する処理E8で終了状態を判定するために用いる状
態変数の値のいずれかが、変数値または変数値を含む式
で表されているときは、動作の解析が不可能であると判
定する。ただし、出力信号の値や状態変数の値が変数値
であっても、取り得る全ての組合せに対して処理E7ま
たは処理E8で同じ判定がなされる場合は、動作の解析
が可能であると判定することができる。
【0108】そして、処理E4で動作の解析を不可能と
判定したとき(処理E4でYES)は、処理E5に進
み、それまでのクロックにおいて抽出した出力命令列と
現在のブロックの状態を退避した後、処理E6に進む。
処理E6では、動作の解析を不可能とする原因の変数値
に対して、取り得る可能性のある値の組合せの1つを選
択し、その選択した値を変数値に設定する。そして、処
理E7に進む。一方、処理E4で動作の解析を可能と判
定したとき(処理E4でYES)は、そのまま処理E7
に進む。処理E7では、出力信号系列を参照して新たに
発生した出力命令を抽出し、処理E8に進む。
【0109】次に、処理E8では、終了状態に到達した
か否かを判定し、終了状態に到達するときは処理E10
に進み、終了状態に到達しないときは処理E9に進む。
処理E9に進んだとき(処理E8でNO)は、1クロッ
クの動作を実行し論理回路ブロックの状態を更新し、処
理E2に戻る。そして、処理E2以降の処理は、上述し
た処理を繰り返すとともに、以下で述べる処理に従って
動作解析を進める。なお、ここで状態変数に設定する値
は、変数値または変数値を含む式になるときもある。
【0110】一方、処理E10に進んだとき(処理E8
でYES)は、処理E8で到達した第2の状態としての
動作終了状態を抽出し、処理E11に進む。処理E11
では、出力信号系列を調べて入力命令に対する返値にな
る信号値を抽出し、処理E12に進む。そして、処理E
12では、処理E6で取り得る全ての組合せの変数値を
選択し終えたか否かを判定し、選択し終えているとき
(処理E12でNO)は動作解析を終了し、一方、まだ
取り得る変数値があるとき(処理E12でYES)は処
理E13に進む。処理E13では、処理E5で退避した
状態を再現し、処理E6に戻る。処理E6は、変数値に
設定する値を変更して解析を進める。以降の動作の解析
は、図30に示すフローチャートに従い、処理E12で
全ての変数値を選択し終えたと判定する(処理E12で
NO)まで、上述した処理E2〜処理E13を繰り返
し、最終的に動作解析処理B4の処理を終了する。
【0111】以下では、図28で示したRTレベルモデ
ルA1と図29で示した入出力命令情報A2を用いて、
記述変換手段1が動作モデルA3を作成する手順を具体
的に説明する。
【0112】記述変換手段1は、まず、処理B1では、
図5に示した方法に従い、動作開始状態と動作終了状態
を設定する。ここで、上述の実施形態と同様にして、論
理回路ブロックの定常状態を求めると、図28に示すR
TレベルモデルA1の入力信号値とレジスタ値が全て0
になる状態を抽出する。ここでは、この状態を動作開始
状態と動作終了状態として共通に設定する。次に、処理
B2では、図29に示す入出力命令情報A2から1つの
入力命令を選択する。ここでは、図29の29aにおい
て指定されている解析対象命令としての唯一の入力命令
outを選択する。処理B3では、処理B1において設
定した唯一の状態を第1の状態としての動作開始状態と
して選択し、処理B4に進む。そして、処理B4では、
図30に示した動作解析方法に従って、入力命令out
に対する図28に示すRTレベルモデルA1の動作を解
析する。
【0113】ここで、処理B4が行う動作解析処理につ
いて、図30に示すフローチャートに従って、図31〜
図34を参照しながら具体的に説明する。図31は処理
途中で作成される入力信号を表し、また図32は出力信
号を表し、さらに図33は内部レジスタ値を表す図であ
る。
【0114】まず、動作開始状態の入力信号値30aに
対する動作開始前の出力信号値32aを求め記録する
(処理E1)。次に、入力命令outによる1クロック
目の信号の変化を反映して入力信号31bを作成し、入
力信号として与える(処理E2)。そして、1クロック
目の出力信号値32bを求め記録し(処理E3)、この
まま動作の解析を続けることができるか否かを判定する
(処理E4)。ここでは変数値を持つ状態変数や出力信
号は存在しないため、そのまま処理E7に進む(処理E
4でYES)。処理E7では、記録した出力信号系列を
もとに新たな出力命令が発生しているか否かを調べて、
処理E8に進む。ここでは、出力信号rdの値が1に変
化しているため、出力命令rdの発生が認識される。
【0115】次に、処理E8では、終了状態に到達して
いるか否かを判定するが、ここでは、まだ入力命令に関
わる信号の変化が終了していないため、処理E9に進む
(処理E8でNO)。処理E9では、1クロックの動作
を実行し、内部レジスタ値を33cに変更することによ
って状態を変更し、処理E2に戻る。ただし、図33に
おいて33a及び33bは動作開始状態におけるレジス
タ値である。
【0116】以後、処理E2から処理E9を繰り返す
が、2クロック目の処理E2では、1クロック目に出力
命令rdを認識しており、出力命令rdが2クロック目
に返値をパラメータとする入力信号dinとerrを持
っているので、入力信号に変数値in_dinとin_
errを設定する。これにより、処理E3において出力
信号doutの値が変数値となる。また、処理E4で
は、以後の動作の解析が可能か否か判定するが、ここで
は、動作終了状態を判定する際に必要な状態と入力信号
の値が変数値となっているので、動作解析が不可能と判
定し処理E5に進む(処理E4でNO)。処理E5で
は、現在の状態とこれまでに抽出した出力命令列を退避
し、処理E6に進む。そして、処理E6では、変数値i
n_dinとin_errに取り得る値の組合せの1つ
値を設定し、処理E7に進む。ここでは、まず変数値i
n_dinとin_errの両方の値を0に設定する。
この場合、処理E7では、新たな出力命令は抽出されな
い。
【0117】そして、処理E8に進み、終了状態に到達
したと判定し処理E10に進む(処理E8でYES)。
処理E10では、第2の状態としての動作終了状態を抽
出し、処理E11に進む。さらに、処理E11では、入
力命令に対する返値として信号doutの2クロック目
の値を抽出する。ここで、図32を参照すると、2クロ
ックの値はin_dinとなっており、処理E6でin
_dinの値として0に設定しているので、返値は0に
なる。なお、この例での抽出結果は、後述する図34に
おける34aに該当している。
【0118】次に、処理E12に進み、処理E6におい
てまだ全ての変数値の組合せを選択していないため、未
解析変数値があるので、処理E13に進む(処理E12
でYES)。そして、処理E13では、処理E5で退避
した状態を再現し、処理E6に戻る。処理E6では、新
たな変数値の組合せを設定して処理E7に進む。ここで
は、変数値in_dinの値を0に設定し、変数値in
_errの値を1に設定すると、次の4クロック目で出
力命令irqを認識し、さらに次の5クロック目で終了
状態にあると判定する。
【0119】以後、取り得る全ての変数値の各組合せに
対して上述の処理を繰り返して、動作解析処理B4を終
了する。その結果、図34に示す動作解析結果を得る。
ここで、図34では、左から変数値による分岐の発生前
の出力命令列、分岐発生時の変数値の組合せ、分岐発生
後の出力命令列、及び入力命令に対する返値が記述され
ている。なお、本実施形態において、変数値による分岐
は1回しか生じていないが、分岐が2回以上生じる場合
であっても、本実施形態は同様に解析可能であることは
言うまでもない。
【0120】そして、動作解析処理B4を終了した後
は、本実施形態において動作開始状態は1種類であり、
また入力命令も1種類であるため、処理B5から処理B
6に進み、さらに処理B7に進む。従って、最後に処理
B7では、図34に示す動作解析結果をもとに、論理回
路ブロックに対する図35に示す動作モデルA3を作成
する。図35は、C言語で記述された動作モデルA3の
一例を表す図である。図35では、左から出力命令用の
関数の宣言(1、2行)、入力命令に対応した関数(4
〜24行)が記述されている。ここで、各命令に対応す
る関数名には、他のブロックの関数と区別するためにブ
ロックのモジュール名を付加している。なお、図35に
示した動作モデルA3において、関数の返値の受け渡し
は、関数の引数として用いた変数へのポインタを用いて
行っている。また、6行目は出力命令の返値を代入する
ための変数を宣言している。
【0121】以上のように、本実施形態に示した論理回
路モデルの変換方法によれば、RTレベルで記述された
論理回路モデルに対し、論理回路ブロックの入出力信号
とブロックの入出力命令との対応関係を示す入出力命令
情報A2を与える。そして、この入出力命令情報A2の
中に返値信号を持つ返値付出力命令や返値付入力命令が
含まれている場合であっても、各入力命令に対するRT
レベルモデルA1の動作を抽出し、クロック概念を含ま
ない逐次的なシミュレーションで用いるための抽象度の
高い動作モデルA3を簡単に作成することができる。
【0122】なお、本実施形態と第3の実施形態を組合
せることにより、返値信号と応答信号の両方を持つ入出
力命令が存在する場合であっても、RTレベルモデルA
1を動作モデルA3に変換できることは言うまでもな
い。
【0123】なお、本実施形態における動作解析におい
ては、出力命令の返値のみを変数値に設定したが、入力
命令の引数を変数値に設定し、異なる引数値を持つ入力
命令に対する動作を同時に解析できることは言うまでも
ない。また、論理回路ブロックの状態を表す変数の一部
を変数値とし、複数の動作開始状態を1つにまとめるこ
とによって、複数の動作開始状態に対する動作を同時に
解析できることは言うまでもない。
【0124】(第5の実施形態)本発明の第5の実施形
態では、請求項1、請求項2、請求項9、請求項10及
び請求項11に係る発明について、図2、図4、図6、
図19、及び図36〜図40を参照しながら説明する。
【0125】前述した全ての実施形態では、論理回路ブ
ロックの状態変数の全てを用いて動作開始状態と動作終
了状態を設定していたため、状態変数の数が多くなると
非常に多数の状態を持つことになる。そのため、第1の
実施形態で示した定常状態の抽出に非常に多くの演算量
が必要になる場合や、多数の動作開始状態を設定する必
要があるために、動作の抽出に多くの演算量が必要にな
る場合がある。
【0126】そこで、本発明の第5の実施形態では、動
作開始状態と動作終了状態の設定に必要な状態変数の数
を削減し、より少ない演算量でRTレベルモデルA1を
動作モデルA3に変換する方法について説明する。
【0127】本発明の第5の実施形態では、上述した図
4及び図6に示したフローチャートに従い動作モデルA
3を作成することにする。
【0128】そして、本実施形態では、論理回路ブロッ
クの状態変数の一部である制御変数の値だけを指定し
て、その値を動作開始状態及び動作終了状態として設定
することにする。
【0129】ここでは、状態変数の中から制御変数を指
定する方法について図36を参照しながら説明する。図
36は、本実施形態における、入力信号とレジスタから
なる状態変数の中から制御変数を選択する方法を表すフ
ローチャートである。図36に示す制御変数の選択方法
において、まず処理G1では、状態変数の中から制御出
力信号の値に寄与している変数を選択し、その変数を制
御変数とする。ここで、制御出力信号とは、入出力命令
情報A2において値の変化が出力命令の発生に関係付け
られている出力信号のことであり、出力命令のパラメー
タや入力命令の返値として用いられている出力信号は含
まない。
【0130】そして、処理G2に進み、処理G1または
後述する処理G4において抽出した制御変数のうち、後
述する処理G3において未だ選択していない変数がある
ときは処理G3に進む(処理G2でYES)。一方、全
ての変数を選択し終えているときは処理を終了する(処
理G2でNO)。処理G3に進んだときは、処理G1ま
たは後述する処理G4において抽出した制御変数のう
ち、未だ選択してしていない変数を選択し、処理G4に
進む。処理G4では、RTレベルモデルA1を解析し、
1クロックの動作において、処理G3で選択した制御変
数の値の変更に寄与する状態変数を抽出する。そして、
その状態変数の中に未だ制御変数に含まれていない変数
があるときは、その変数を制御変数に加え、処理G2に
戻る。
【0131】以降、処理G2で未選択の制御変数がなく
なり処理を終了するまで(処理G2でNO)、上述した
処理G2から処理G4を繰り返す。ここで、上述した方
法を用いて求めた制御変数で表される状態の遷移は、他
の状態変数の値に影響されない。また、本実施形態で
は、上述した処理G1及び処理G4では、制御出力信号
または制御変数の値に寄与する信号の中で、入力パラメ
ータとして用いられる信号があれば、その信号を制御パ
ラメータとして取り出す。
【0132】そして、処理B1で動作開始状態と動作終
了状態を設定する際には、上述の方法によって抽出した
制御変数の値のみを用いる。なお、動作開始状態と動作
終了状態の設定は、第1の実施形態で示した方法によっ
て制御変数で表される状態から定常状態を抽出し、その
定常状態を動作開始状態と動作終了状態としてもよい
し、また、手入力によって設定してもよい。ここで、定
常状態を抽出するとき、制御変数以外の状態変数は制御
変数に影響を与えないため、制御変数だけで定常状態を
抽出できることは言うまでもない。
【0133】そして、以後、設定した動作開始状態と動
作終了状態を用いて、図4に示す処理B2から処理B7
を行い動作モデルA3を作成する。
【0134】ただし、処理B2で入力命令を選択する
際、制御パラメータに含まれていない入力パラメータに
対しては、値が異なるものを別の命令として扱わず、入
力パラメータを変数値として解析を行う。また、処理B
3で動作開始状態を選択する際、値が固定された入力信
号と制御変数以外の状態変数に対しては変数値を与え、
複数の状態を1つにまとめて選択する。そして、動作解
析処理B4が行う各処理は、変数値で与えられた状態変
数の値またはパラメータの値をその変数値のまま扱う。
これにより、図6に示す処理C8で抽出する出力命令の
パラメータの値や処理C6で設定するレジスタ値は、定
数ではなく1つの変数値または複数の変数値で表される
式になる場合もある。ただし、制御パラメータ及び初期
の制御変数に対しては変数値を用いていないため、制御
出力信号及び制御変数には変数値は現れない。従って、
処理C8で行う出力命令の発生の判定や処理C5で行う
終了状態の判定において変数値が現れることはない。そ
のため、その判定が不可能になることはない。
【0135】以下では、図2で示したRTレベルモデル
A1と図13で示した入出力命令情報A2を用いて、記
述変換手段1が動作モデルA3を作成する手順を具体的
に説明する。
【0136】記述変換手段1は、まず、図4に示す処理
B1において動作開始状態と動作終了状態を設定する。
ここでは、図36に示すフローチャートに従い、まず制
御変数を選択する。図36において、処理G1では、図
13に示す入出力命令情報A2の中から、出力命令の発
生に関係付けられている出力信号oe1及びoe2を制
御出力信号として取り出し、これらの信号に寄与してい
る状態変数oe1及びoe2を制御変数として選択す
る。次に、処理G2では、制御変数oe1及びoe2
は、まだ選択されていないため処理G3に進み(処理G
2でYES)、まず制御変数oe1を選択する(処理G
3)。そして、図2に示すRTレベルモデルA1を解析
すると、10行目で制御変数oe1はクロック毎に更新
されており、この更新に寄与する変数selとff_i
nを制御変数に加える(処理G4)。
【0137】次に、処理G2に戻り、未選択の制御変数
がなくなるまで(処理G2でNO)、図36に示すフロ
ーチャートに従って処理を繰り返すと、結果として、状
態変数oe1、oe2、sel、及びff_inが制御
変数として選択される。なお、状態変数doutは出力
命令の発生に関係付けられていないため、制御変数とし
て選択されない。また、入力パラメータdinは制御変
数の値に寄与していないため、制御パラメータとして選
択されない。そして、第1の実施形態で示したように、
処理B1によって定常状態を求めると、選択した4つの
制御変数が0となる1種類の状態が抽出される。従っ
て、処理B1は、その状態を動作開始状態と動作終了状
態として設定し、処理B2に進む。
【0138】処理B2では、図13に示す入出力命令情
報A2から1つの命令を選択し、処理B3に進む。ここ
では、唯一の入力命令であるinを選択する。この選択
した入力命令inの引数のうち、dinは制御パラメー
タではないため変数値in_dinとし、selは制御
パラメータであるため値毎に別の命令として扱う。ま
た、ここでは、例として制御パラメータselの値とし
て1を選択する。処理B3は、処理B1で設定した動作
開始状態から1つの状態を選択し、処理B4に進む。こ
こでは、唯一の動作開始状態を第1の状態として選択す
る。このとき、状態変数doutの値は変数値dout
とする。そして、処理B4では、入力命令inに対する
図2に示すRTレベルモデルA1の動作を解析する。
【0139】ここで、処理B4が行う動作解析処理につ
いて、図6に示すフローチャートに従って、図37〜図
40を参照しながら説明する。図37は処理途中で作成
される入力信号を表し、また図38は出力信号を表し、
さらに図39は内部レジスタ値を表す図である。
【0140】まず、処理B2で選択した解析対象命令と
しての入力命令inを入力したときの入力信号の変化
と、動作開始状態における入力信号値を用いて入力信号
を作成する(処理C1)。ここで、図37において、3
7aは入力命令inを入力する前の入力信号値、37b
は入力命令inを入力した最初のクロックにおける入力
信号値、37cは2クロック目における入力信号値であ
る。また、入力信号dinに対する引数の値は変数値で
与えられているので、1クロック目の入力信号37bに
おける入力信号dinの値は変数値in_dinとな
る。
【0141】次に、入力信号値37aに対する動作開始
前の出力信号値38aを求め記録する(処理C2)。こ
こで、レジスタdoutに対応する状態変数の値は変数
値doutで与えられているので、出力信号doutの
出力信号値はdoutとなる。次に、入力信号値を37
bに更新し(処理C3)、1クロック目の出力信号値3
8bを求め記録する(処理C4)。そして、処理C5で
は、現在の入力信号値と状態を調べるが、1クロック目
において入力命令inによる入力信号の変化が終了して
いないため、終了状態とみなさず処理C6に進む(処理
C5でNO)。処理C6では、1クロックの動作を実行
し、内部レジスタ値を39cに変更することによって状
態を変更し、処理C3に戻る。ただし、図39において
39a及び39bは動作開始状態でのレジスタ値であ
る。
【0142】以後、処理C5で終了状態に到達するまで
処理C3から処理C6を繰り返すが、4クロック目の処
理C5では、入力命令inによる信号の変化は終了して
おり、また、入力信号値37eとレジスタ値39eのう
ち制御変数を調べると、第2の状態としての動作終了状
態に到達しているので、終了状態とみなして処理C7に
進む(処理C5でYES)。処理C7では、論理回路ブ
ロックの動作終了状態を抽出し、処理C8に進む。
【0143】最後に、処理C8では、処理C2及び処理
C4で記録した図38に示す出力信号系列と、図13に
示す入出力命令情報A2に含まれる出力命令に対応する
出力信号パターンとを比較する。ここでは、図38にお
いて、38dに示す3クロック目で出力信号oe2の値
が1になっている。このため、これが出力命令oe2に
対応しているので、出力命令oe2を抽出する。また、
出力命令oe2は出力信号doutを引数としており、
doutのタイミングを1と指定している。このため、
出力信号oe2の値が1となっているクロックの次のク
ロックである38eに示す4クロック目で、出力信号d
outの値が変数値in_dinとなっているので、変
数値in_dinを出力命令oe2の引数とする。な
お、この例での抽出結果は、後述する図40における4
0bに該当している。
【0144】このように処理B4による動作解析処理が
行われた後、図40に示す動作解析結果を得る。図40
は、入力命令inに対する動作を解析した結果である。
図40では、左から引数を含む入力命令、動作開始状態
のdoutの値、命令実行後のdoutの値、及び抽出
した出力命令列が記述されている。なお、in、se
l、din、ff_in、oe1、及びoe2の各値
は、全ての動作開始状態と動作終了状態において共通の
値を持つため省略している。
【0145】そして、動作解析処理B4の終了後、処理
B5に進み、本実施形態において動作開始状態は1種類
であり、また入力命令も1種類であるため、処理B5か
ら処理B6に進み、さらに処理B7に進む。従って、最
後に処理B7では、図40に示す動作解析結果をもと
に、動作モデルA3を作成する。ここでは、第2の実施
形態と同様に、図19に示す動作モデルA3が作成され
る。なお、本実施形態では、結果として第2の実施形態
と同じ動作モデルA3が作成されたが、命令実行後の状
態変数の値は、必ずしも常に一致するわけではない。
【0146】以上のように、本実施形態に示した論理回
路モデルの変換方法によれば、RTレベルで記述された
論理回路モデルを変換して抽象度の高い動作モデルA3
を作成する際に、出力命令を認識するために用いられる
出力信号に影響を与える状態変数を制御変数とする。そ
れとともに、制御変数の値の変更に影響を与える状態変
数をさらに制御変数に加える。そして、その制御変数の
全部または一部の値が同一となる状態を1つの状態とし
て扱って、動作開始状態と動作終了状態に設定する。こ
れにより、動作開始状態と動作終了状態の数を減らすこ
とができるため、動作開始状態などの選択や論理回路ブ
ロックのRTレベルモデルA1の動作の解析において必
要な演算量を減らすことができる。
【0147】なお、本実施形態では、応答信号や返値信
号を持たない論理回路ブロックに対して、RTレベルモ
デルA1を動作モデルA3に変換する方法を示した。し
かしながら、ここで用いた動作開始状態と動作終了状態
の設定方法を第3の実施形態や第4の実施形態で示した
動作解析方法と組合せることによって、応答信号や返値
信号を持つ論理回路ブロックのRTレベルモデルA1を
動作モデルA3に変換する場合であっても、動作開始状
態と動作終了状態の数を減らすことができることは言う
までもない。
【0148】
【発明の効果】以上のように、本発明によると、論理回
路ブロックの入出力信号と抽象度の高い入出力命令との
関係を表す入出力命令情報を用いて、入力命令に対応す
る入力信号の変化に応じた論理回路ブロックの状態遷移
と出力信号の変化に対応する出力命令を抽出する。これ
により、RTレベルモデルを時間概念を含まない動作モ
デルに変換することができる。その結果、システム全体
を構成する論理回路ブロックの一部にRTレベルで詳細
に記述されたモデルしか存在しないときであっても、変
換した動作モデルを用いることによって、システム全体
に対する時間概念を含まない高速なシミュレーションを
実施することがことができる。また、RTレベルモデル
を動作モデルに変換するため、モデルの二重開発による
動作の不一致が発生することもない。
【図面の簡単な説明】
【図1】本発明の第1〜第5の実施形態における論理回
路モデルの変換方法の概略構成を表す図である。
【図2】本発明の第1、第2、及び第5の実施形態にお
けるRTレベルモデルの一例を表す図である。
【図3】本発明の第1の実施形態における入出力命令情
報の一例を表す図である。
【図4】本発明の第1〜第5の実施形態における論理回
路モデルの変換方法を表すフローチャートである。
【図5】本発明の第1〜第4の実施形態における動作開
始状態と動作終了状態を設定する方法を表すフローチャ
ートである。
【図6】本発明の第1、第2、及び第5の実施形態にお
ける論理回路モデルの動作解析方法を表すフローチャー
トである。
【図7】本発明の第1の実施形態における動作開始状態
と動作終了状態を表す図である。
【図8】本発明の第1の実施形態における入力命令in
に対する入力信号を表す図である。
【図9】本発明の第1の実施形態における入力命令in
に対する出力信号を表す図である。
【図10】本発明の第1の実施形態における入力命令i
nに対するレジスタ値を表す図である。
【図11】本発明の第1の実施形態における入力命令i
nに対する動作解析結果を表す図である。
【図12】本発明の第1の実施形態における変換後の動
作モデルの一例を表す図である。
【図13】本発明の第2及び第5の実施形態における入
出力命令情報の一例を表す図である。
【図14】本発明の第2の実施形態における動作開始状
態と動作終了状態を表す図である。
【図15】本発明の第2の実施形態における入力命令i
nに対する入力信号を表す図である。
【図16】本発明の第2の実施形態における入力命令i
nに対する出力信号を表す図である。
【図17】本発明の第2の実施形態における入力命令i
nに対するレジスタ値を表す図である。
【図18】本発明の第2の実施形態における入力命令i
nに対する動作解析結果を表す図である。
【図19】本発明の第2及び第5の実施形態における変
換後の動作モデルの一例を表す図である。
【図20】本発明の第3の実施形態におけるRTレベル
モデルの一例を表す図である。
【図21】本発明の第3の実施形態における入出力命令
情報の一例を表す図である。
【図22】本発明の第3の実施形態における論理回路モ
デルの動作解析方法を表すフローチャートである。
【図23】本発明の第3の実施形態における入力命令i
nに対する入力信号を表す図である。
【図24】本発明の第3の実施形態における入力命令i
nに対する出力信号を表す図である。
【図25】本発明の第3の実施形態における入力命令i
nに対するレジスタ値を表す図である。
【図26】本発明の第3の実施形態における動作解析結
果を表す図である。
【図27】本発明の第3の実施形態における変換後の動
作モデルの一例を表す図である。
【図28】本発明の第4の実施形態におけるRTレベル
モデルの一例を表す図である。
【図29】本発明の第4の実施形態における入出力命令
情報の一例を表す図である。
【図30】本発明の第4の実施形態における論理回路モ
デルの動作解析方法を表すフローチャートである。
【図31】本発明の第4の実施形態における入力命令o
utに対する入力信号を表す図である。
【図32】本発明の第4の実施形態における入力命令o
utに対する出力信号を表す図である。
【図33】本発明の第4の実施形態における入力命令o
utに対するレジスタ値を表す図である。
【図34】本発明の第4の実施形態における動作解析結
果を表す図である。
【図35】本発明の第4の実施形態における変換後の動
作モデルの一例を表す図である。
【図36】本発明の第5の実施形態における状態変数か
ら制御変数を選択する方法を表すフローチャートであ
る。
【図37】本発明の第5の実施形態における入力命令i
nに対する入力信号を表す図である。
【図38】本発明の第5の実施形態における入力命令i
nに対する出力信号を表す図である。
【図39】本発明の第5の実施形態における入力命令i
nに対するレジスタ値を表す図である。
【図40】本発明の第5の実施形態における動作解析結
果を表す図である。
【符号の説明】
1 RTレベルモデルを動作モデルに変換する記述
変換手段 A1 論理回路ブロックのRTレベルモデル A2 論理回路ブロックの入出力命令情報 A3 論理回路ブロックの動作モデル B1 動作開始状態と動作終了状態を設定する処理 B4 RTレベルモデルの動作を解析する処理 B7 動作モデルを作成する処理 F2 入力命令がない状態での入力信号値を固定する
処理 F3 定常状態を抽出する処理 F4 定常状態を動作開始状態と動作終了状態に設定
する処理 C1、C3 論理回路ブロックの入力信号値を記録する
処理 C2、C4、D1、D3 論理回路ブロックの出力信号
値を記録する処理 C5、D6、E8 論理回路ブロックの動作の解析の終
了状態を判定する処理 C6、D7、E9 論理回路ブロックの1クロックの動
作を実行する処理 C7、D8、E10 論理回路ブロックの動作終了状態
を抽出する処理 C8 出力信号の時系列から出力命令を抽出する処理 D2、E2 クロック毎の入力信号を作成する処理 D4、E7 クロック毎に出力命令の発生を認識する処
理 D5 入力命令に対する応答信号の発生を調べる処理 E4 動作解析可能か否かを判定する処理 E11 入力命令に対する返値信号値の値を抽出する処
理 G1 制御出力信号に寄与する状態変数を制御変数と
する処理 G4 制御変数の値の変更に寄与する状態変数を制御
変数に加える処理

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 論理回路ブロックのRTレベルモデルを
    抽象度の高い動作モデルに変換する方法であって、 前記論理回路ブロックの入出力命令と前記入出力命令に
    対応する入出力信号との関係を表す入出力命令情報を用
    いて、 前記論理回路ブロックが有する1または2以上の状態を
    動作開始状態及び動作終了状態として設定する状態設定
    ステップと、 前記入出力命令情報に含まれる入力命令のうちから選択
    したいずれか1の解析対象命令に対応する入力信号を、
    前記動作開始状態のうちから選択したいずれか1の第1
    の状態にある前記RTレベルモデルに与え、前記入力信
    号を変化させた場合において、前記RTレベルモデルが
    前記動作終了状態のいずれか1の第2の状態に到達する
    まで、前記RTレベルモデルを解析して前記論理回路ブ
    ロックの動作を抽出する動作解析ステップとを有し、 前記動作開始状態と前記入出力命令情報に含まれる入力
    命令との組合せの一部または全部に対して、前記動作解
    析ステップを繰り返し行い、抽出した動作をもとにし
    て、前記論理回路ブロックの前記動作モデルを作成する
    ことを特徴とする論理回路モデルの変換方法。
  2. 【請求項2】 請求項1記載の論理回路モデルの変換方
    法において、 前記動作解析ステップは、 前記解析対象命令に対応する1または2以上の入力信号
    の時系列を作成するステップと、 前記RTレベルモデルが前記第2の状態に到達するま
    で、前記入力信号の時系列を用いて前記RTレベルモデ
    ルを実行するとともに、出力信号の時系列を作成するス
    テップと、 前記RTレベルモデルが前記第2の状態に到達したとき
    のその状態を、前記論理回路ブロックの動作として抽出
    するステップと、 前記出力信号の時系列と、前記入出力命令情報に含まれ
    る出力命令と前記出力命令に対応する出力信号の関係と
    を比較して、前記出力命令を前記入出力命令情報に含ま
    れる出力命令の中から、前記論理回路ブロックの動作と
    して抽出するステップとを有することを特徴とする論理
    回路モデルの変換方法。
  3. 【請求項3】 請求項1記載の論理回路モデルの変換方
    法において、 前記動作解析ステップは、 前記解析対象命令に含まれる入力命令に対応する1また
    は2以上の入力信号を1クロック毎に作成するステップ
    と、 前記入力信号を用いて前記RTレベルモデルを1クロッ
    ク毎に実行するとともに、出力信号を1クロック毎に作
    成するステップと、 前記RTレベルモデルが前記第2の状態に到達したとき
    のその状態を、前記論理回路ブロックの動作として1ク
    ロック毎に抽出するステップと、 前記出力信号と、前記入出力命令情報に含まれる出力命
    令と前記出力命令に対応する出力信号の関係とを比較し
    て、前記出力命令を前記入出力命令情報に含まれる出力
    命令の中から、前記論理回路ブロックの動作として1ク
    ロック毎に抽出するステップとを有することを特徴とす
    る論理回路モデルの変換方法。
  4. 【請求項4】 請求項3記載の論理回路モデルの変換方
    法において、 前記入出力命令情報は、出力命令として、出力信号とと
    もに入力信号が応答信号として関連付けられた応答信号
    付出力命令を含み、 前記動作解析ステップは、一のクロックにおいて前記応
    答信号付出力命令を抽出したとき、前記入出力命令情報
    の中で前記応答信号に対して指定したタイミングで、前
    記応答信号付出力命令に対応する前記応答信号の値を変
    化させて前記応答信号を作成して、前記一のクロックよ
    りも後のクロックにおける前記RTレベルモデルの動作
    を解析することを特徴とする論理回路モデルの変換方
    法。
  5. 【請求項5】 請求項3記載の論理回路モデルの変換方
    法において、 前記入出力命令情報は、入力命令として、入力信号とと
    もに出力信号が応答信号として関連付けられた応答信号
    付入力命令を含み、 前記動作解析ステップは、一のクロックにおいて前記応
    答信号付入力命令を前記解析対象命令とするとき、前記
    入出力命令情報の中で前記応答信号に対して指定したタ
    イミングで変化する、前記応答信号付入力命令に対応す
    る前記応答信号の値をもとに前記応答信号を作成して、
    前記一のクロックよりも後のクロックにおける前記RT
    レベルモデルの動作を解析することを特徴とする論理回
    路モデルの変換方法。
  6. 【請求項6】 請求項3記載の論理回路モデルの変換方
    法において、 前記入出力命令情報は、出力命令として、入力信号が返
    値として関連付けられた返値付出力命令を含み、 前記動作解析ステップは、前記返値付出力命令の返値と
    なる入力信号の値に依存して前記RTレベルモデルの動
    作が変化するとき、前記返値として取り得る値の組合せ
    毎に、前記RTレベルモデルの動作を解析することを特
    徴とする論理回路モデルの変換方法。
  7. 【請求項7】 請求項3記載の論理回路モデルの変換方
    法において、 前記入出力命令情報は、入力命令として、出力信号が返
    値として関連付けられた返値付入力命令を含み、 前記動作解析ステップは、前記入出力命令情報の中で前
    記出力信号に対して指定されたクロックの前記出力信号
    の値を、前記返値付入力命令の前記返値として抽出し
    て、前記RTレベルモデルの動作を解析することを特徴
    とする論理回路モデルの変換方法。
  8. 【請求項8】 請求項1記載の論理回路モデルの変換方
    法において、 前記状態設定ステップは、 前記論理回路ブロックが入力命令を受け付けていないと
    き、前記論理回路ブロックの状態が変化しない状態また
    は有限個の状態を繰り返す状態を、前記動作開始状態及
    び前記動作終了状態として設定することを特徴とする論
    理回路モデルの変換方法。
  9. 【請求項9】 請求項1記載の論理回路モデルの変換方
    法において、 前記状態設定ステップは、 前記論理回路ブロックの状態を特定する状態変数のう
    ち、前記入出力命令情報に含まれる出力命令を認識する
    ために用いられる出力信号に影響を与える前記状態変数
    を、制御変数として選択し、選択した前記制御変数が特
    定する1または2以上の状態を、前記動作開始状態及び
    前記動作終了状態として設定することを特徴とする論理
    回路モデルの変換方法。
  10. 【請求項10】 請求項9記載の論理回路モデルの変換
    方法において、 前記状態設定ステップは、 前記制御変数が特定する1または2以上の状態のうち、
    前記制御変数の全部または一部の値が同一となる状態は
    まとめて1の状態として扱い、前記動作開始状態及び前
    記動作終了状態を設定することを特徴とする論理回路モ
    デルの変換方法。
  11. 【請求項11】 請求項9記載の論理回路モデルの変換
    方法において、 前記状態設定ステップは、 前記RTレベルモデルの1クロックの動作において、前
    記制御変数の更新に寄与する前記状態変数があるとき、
    その状態変数を前記制御変数としてさらに選択すること
    を特徴とする論理回路モデルの変換方法。
JP2001200446A 2001-07-02 2001-07-02 論理回路モデルの変換方法 Withdrawn JP2003016134A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001200446A JP2003016134A (ja) 2001-07-02 2001-07-02 論理回路モデルの変換方法
US10/180,297 US6760889B2 (en) 2001-07-02 2002-06-27 Method for converting a logic circuit model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001200446A JP2003016134A (ja) 2001-07-02 2001-07-02 論理回路モデルの変換方法

Publications (1)

Publication Number Publication Date
JP2003016134A true JP2003016134A (ja) 2003-01-17

Family

ID=19037569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001200446A Withdrawn JP2003016134A (ja) 2001-07-02 2001-07-02 論理回路モデルの変換方法

Country Status (2)

Country Link
US (1) US6760889B2 (ja)
JP (1) JP2003016134A (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986110B1 (en) * 2003-01-02 2006-01-10 Hewlett-Packard Development Company, L.P. Automated method and system for backtracing of instruction parameters from specified instruction in test cases
US7739638B2 (en) * 2003-03-06 2010-06-15 Fujitsu Limited Circuit analyzing device, circuit analyzing method, program, and computer readable information recording medium considering influence of signal input to peripheral circuit which does not have logical influence
US7895552B1 (en) * 2004-03-26 2011-02-22 Jasper Design Automation, Inc. Extracting, visualizing, and acting on inconsistencies between a circuit design and its abstraction
US8140110B2 (en) * 2005-08-08 2012-03-20 Freescale Semiconductor, Inc. Controlling input and output in a multi-mode wireless processing system
US7665059B2 (en) * 2006-06-07 2010-02-16 Bluespec, Inc. System and method for designing multiple clock domain circuits
GB0614019D0 (en) * 2006-07-14 2006-08-23 Univ Birmingham Synthesis of electronic circuits
US8560294B1 (en) * 2008-02-20 2013-10-15 Xilinx, Inc. Method and apparatus for an automated input/output buffer information specification model generator
US9378000B1 (en) * 2014-01-14 2016-06-28 Synopsys, Inc. Determination of unreachable elements in a design
AU2014262202A1 (en) 2014-02-06 2015-08-20 National Ict Australia Limited Analysis of Program Code
US9703907B2 (en) * 2015-10-27 2017-07-11 International Business Machines Corporation RAS evaluation for circuit element
JP6319271B2 (ja) * 2015-11-09 2018-05-09 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
CN112507180B (zh) * 2020-12-11 2022-07-05 浙江中控技术股份有限公司 模拟机时间的转换方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541849A (en) 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5870588A (en) 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design
JP3904645B2 (ja) * 1996-12-26 2007-04-11 株式会社東芝 ハードウェア/ソフトウェア協調シミュレーション装置
JP3838756B2 (ja) 1997-09-16 2006-10-25 株式会社東芝 回路設計支援装置
JP2001022808A (ja) 1999-07-08 2001-01-26 Matsushita Electric Ind Co Ltd 論理回路削減装置ならびに論理シミュレーション方法および装置

Also Published As

Publication number Publication date
US20030005393A1 (en) 2003-01-02
US6760889B2 (en) 2004-07-06

Similar Documents

Publication Publication Date Title
US7020856B2 (en) Method for verifying properties of a circuit model
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
US20110035203A1 (en) system level power evaluation method
US5862361A (en) Sliced synchronous simulation engine for high speed simulation of integrated circuit behavior
JP3904645B2 (ja) ハードウェア/ソフトウェア協調シミュレーション装置
JP2003016134A (ja) 論理回路モデルの変換方法
JPH11513512A (ja) ディジタル信号プロセッサの製造方法
JP2002073719A (ja) 回路動作モデル記述の生成方法および論理設計検証装置
JP3803561B2 (ja) 論理回路設計方法
JP4492803B2 (ja) 動作合成装置及びプログラム
JP2008511894A (ja) 電子回路の構造レベル記述を設計する方法及びシステム
CN113569524A (zh) 芯片设计中基于综合网表提取时钟树的方法及应用
JP4147842B2 (ja) 論理検証システム及び方法、論理コーン抽出装置及び方法、論理検証及び論理コーン抽出プログラム
US6964027B2 (en) System and method for optimizing exceptions
CN115438610A (zh) 图形化高层次综合电路性能分析方法、系统、装置及介质
US20070271080A1 (en) Model generation method for software/hardware collaboration design
JP5034916B2 (ja) 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置
US6077305A (en) Latch inference using dataflow analysis
Bombieri et al. A methodology for abstracting RTL designs into TL descriptions
JPH10254930A (ja) 半導体素子の機能検証装置及びその機能検証方法
US20040111249A1 (en) Simulation method and emulation method
JP2853649B2 (ja) 論理シミュレーション用モデルの作成方法
JP4407819B2 (ja) テストパターン編集装置、テストパターン編集プログラム及びテストパターン編集方法
JP3586587B2 (ja) Lsiの回路ブロック間接続検証システム及びその方法
JP2576355B2 (ja) 遅延最適化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060131

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20071120