JP2001022808A - 論理回路削減装置ならびに論理シミュレーション方法および装置 - Google Patents

論理回路削減装置ならびに論理シミュレーション方法および装置

Info

Publication number
JP2001022808A
JP2001022808A JP11193869A JP19386999A JP2001022808A JP 2001022808 A JP2001022808 A JP 2001022808A JP 11193869 A JP11193869 A JP 11193869A JP 19386999 A JP19386999 A JP 19386999A JP 2001022808 A JP2001022808 A JP 2001022808A
Authority
JP
Japan
Prior art keywords
logic
logic circuit
simulation
restriction information
circuit
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
JP11193869A
Other languages
English (en)
Inventor
Yoichiro Mae
洋一郎 前
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 JP11193869A priority Critical patent/JP2001022808A/ja
Publication of JP2001022808A publication Critical patent/JP2001022808A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】大規模回路の論理検証において、検証目的に応
じた論理の削減を行い、高速な論理回路削減装置ならび
に論理シミュレーション方法および装置を提供する。 【解決手段】論理回路101から構成される被検証対象
回路を入力する手段と、検証目的に応じた制限情報10
6を与える制限情報入力手段107と、制限情報に基づ
き、入力された被検証対象回路を削減する論理削減手段
103を備える。論理シミュレート方法は、この論理回
路削減装置を用いて論理を削減された論理回路の動作を
シミュレートする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理を削減する論
理回路削減装置ならびに論理の検証のための論理シミュ
レーション方法および装置に関するものであり、論理回
路の動作のシミュレーションを高速にシミュレートする
装置を提供するものである。
【0002】
【従来の技術】従来の論理検証は、被検証対象回路であ
る論理回路に対する論理シミュレータによるシミュレー
ションによって行なわれている。多くの論理シミュレー
ション処理は主にイベントドリブン処理で行なわれてい
る。また、同期回路のクロックサイクルにイベントを限
定した、高速なサイクルベースに基づく論理シミュレー
ション手法も開発され、実用化されている。
【0003】また、被検証対象回路を、入力テストパタ
ーンの解析により信号値が変化しない部分の論理を削減
することにより、被検証対象回路のシミュレーションを
高速化する方法が開示されている(特開平6−2431
90号)。
【0004】また、プロセッサ部とプロセッサにより制
御されるハードウェアを持ち、ソフトウェアプログラム
コードとハードウェアが相互に作用を及ぼす動作の検証
方法としては、プロセッサ部を命令レベルシミュレータ
でシミュレートし、論理回路部をクロックサイクルにお
いて実際のチップと同一動作をする(以後、サイクルア
キュレート)シミュレーションモデルから、プロセッサ
からの入出力アクセス毎の動作レベルに変換し、プロセ
ッサ部と変換した論理回路部によりシミュレーションを
行なう方法が開示されている(特開平10−18778
9号)。
【0005】
【発明が解決しようとする課題】通常の論理シミュレー
ションでは、非常に大規模な論理回路の場合、論理検証
に膨大な時間がかかる。半導体技術の進歩により1つの
半導体集積回路の中にプロセッサ部、論理回路部、メモ
リがまとめられる現状においては、サイクルベースシミ
ュレータを用いたとしても、膨大な検証が必要であり、
現実的な時間で論理検証を行なうことは難しい。また、
このような大規模回路の検証は、複数の検証パターンに
分割されることが多く、各検証パターンでは論理回路の
一部しか動作しないことが多く、余分なシミュレーショ
ンを行なう結果となる。
【0006】また、被検証対象回路に与える入力テスト
パターンの解析により、信号値が変化しない部分の論理
を削減することによりシミュレーション対象となる論理
回路の削減を行い、シミュレーションの高速化を図る方
法では、余分なシミュレーションを行なうことはない
が、論理の削減が入力テストパターンに依存しているた
め、そのテストパタン作成は容易ではない。さらに、被
検証対象回路内にメモリやレジスタが存在する場合、シ
ミュレーションの初期において値を設定する。入力テス
トパターン上では、初期設定後にメモリやレジスタの値
を変更しない場合、入力テストパターンに依存した情報
からではメモリやレジスタの削除を行なうことはできな
い。さらに、入力テストパターン全体に依存して論理を
削減するために、入力ベクタの一部で変化して、大部分
で変化しないことが分かっている場合でも論理を削除す
ることができない。
【0007】プロセッサ部を命令レベルシミュレータで
シミュレートし、論理回路部をプロセッサからの入出力
アクセス毎の動作レベルに変換する方法では、論理回路
部の抽象度が高いために高速シミュレーションが可能で
あるが、クロックサイクルでの検証が行なわれておら
ず、検証精度に問題がある。
【0008】本発明は、かかる点に鑑みてなされたもの
であり、その目的は、被検証対象論理回路の論理検証の
論理シミュレーションにおいて、検証項目を限定し、そ
の限定情報に基づいて論理を削減し、高速に論理シミュ
レーションを行なうことができる論理回路削減装置およ
び論理シミュレーション装置を提供するものである。
【0009】また、プロセッサ部と論理回路部を含み、
ソフトウェアプログラムコードとハードウェアが相互に
作用するシステム全体のシミュレーションにおいて、論
理回路部の情報と、ソフトウェアの解析により、検証を
行なうソフトウェアから論理回路部の削減情報を作成
し、論理を削減することにより高速な論理シミュレーシ
ョン装置を提供するものである。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、大規模論理回路の論理シミュレーション装置におい
て、本発明は、被検証対象回路に対して検証目的に応じ
た制限情報を与え、与えた制限情報に基づき、被検証対
象回路の論理を削減する論理回路削減装置であり、この
論理削減装置を用いてシミュレートすることにより、論
理シミュレーションの速度を高速化し、検証時間を削減
する論理シミュレーション方法および装置である。
【0011】請求項1記載の論理回路削減装置は、論理
回路から構成される被検証対象回路を入力する手段と、
検証目的に応じた制限情報を与える制限情報入力手段
と、制限情報に基づき、入力された被検証対象回路を削
減する論理削減手段を備えたものである。
【0012】請求項1記載の論理回路削減装置によれ
ば、検証目的に応じた制限情報を与え、その制限情報に
基づき論理回路から構成される被検証対象回路を削減す
る方法により、被検証対象回路を入力し、検証目的に応
じた制限情報を入力し、入力した制限情報に基づき、入
力された被検証対象回路を削減することができる。この
ため、高速に論理シミュレーションを行なうことができ
る。
【0013】請求項2記載の論理シミュレーション方法
は、論理回路から構成される被検証対象回路の動作のシ
ミュレーション装置であって、請求項1記載の論理回路
削減装置を用いて論理を削減された論理回路の動作をシ
ミュレートすることを特徴とするものである。
【0014】請求項2記載の論理シミュレーション方法
によれば、削減された論理回路の動作をシミュレートす
ることにより、論理シミュレーションを高速化すること
ができる。
【0015】請求項3記載の論理シミュレーション装置
は、論理回路から構成される被検証対象回路の動作のシ
ミュレーション装置であって、検証目的に応じかつシミ
ュレーション時刻に依存した制限情報を与える制限情報
入力手段と、シミュレーション時刻に依存した制限情報
に基づきシミュレーション時刻を分割するシミュレーシ
ョン時刻分割手段と、分割されたシミュレーション時刻
毎に入力された被検証対象回路を削減する論理回路削減
手段とを備え、削減された論理回路の動作をシミュレー
トすることを特徴とするものである。
【0016】請求項3記載の論理シミュレーション装置
によれば、検証目的に応じた制限情報の各々にシミュレ
ーション時刻に依存した制限情報を与え、シミュレーシ
ョン時刻に依存した制限情報に基づき、シミュレーショ
ン時刻を分割し、分割されたシミュレーション時刻毎に
被検証対象回路の論理を削減し、論理シミュレートする
方法により、全体の論理シミュレーションを高速化する
ことができる。
【0017】請求項4記載の論理シミュレーション装置
は、プロセッサ部と、論理回路部とから成る被検証対象
回路の動作の論理シミュレーション装置であって、論理
回路部の制限可能情報を与える可制限情報入力手段と、
プロセッサ部を制御するソフトウェアの命令動作を解析
する手段と、ソフトウェアの命令動作の解析により制限
情報を抽出する制限情報抽出手段と、抽出された制限情
報に基づき被検証対象回路の論理回路部を削減する論理
削減手段とを備え、プロセッサ部の命令動作まで含めて
論理回路部の動作をシミュレートすることを特徴とする
ものである。
【0018】請求項4記載の論理シミュレーション装置
によれば、プロセッサ部を制御するソフトウェアの命令
動作を解析し、論理回路部に与えることができる制限情
報を入力し、この制限情報とソフトウェアの命令動作の
解析結果から、論理を削減する制限情報を抽出し、抽出
された制限情報に基づき論理を削減する方法により、論
理シミュレーションを高速化することができる。
【0019】請求項5記載の論理シミュレーション装置
は、プロセッサ部と、論理回路部とから成る被検証対象
回路の動作の論理シミュレーション装置であって、プロ
セッサ部を制御するソフトウェアの検証範囲を指定する
ソフトウェア指定情報入力手段と、論理回路部の制限可
能情報を与える可制限情報入力手段と、ソフトウェア指
定情報入力手段のソフトウェア指定情報と論理回路部の
可制限情報より制限情報を生成し且つプロセッサ部のプ
ログラム命令系列を生成するコンパイラと、抽出された
制限情報に基づき論理回路部を削減する論理削減手段と
を備え、プロセッサ部の命令動作まで含めて論理回路部
の動作をシミュレートすることを特徴とするものであ
る。
【0020】請求項5記載の論理シミュレーション装置
によれば、検証目的に応じて、プロセッサ部を制御する
ソフトウェアを指定し、論理回路部に与えることができ
る制限情報から、プロセッサ部を制御するプログラム命
令系列を生成するとともに論理回路部の制限情報を生成
し、生成された制限情報に基づき論理を削減する方法に
より、シミュレーションを高速化することができる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図を用いて説明する。
【0022】(第1の実施の形態)第1の実施の形態で
は、請求項1に係る発明に関して図を用いて説明する。
【0023】図1は請求項1に係る論理回路削減装置の
構成を示す図である。
【0024】図1において論理回路の変換装置100
は、変換する対象の回路101を入力する論理回路入力
手段102と、論理回路101のシミュレーション実行
時の制限情報106を入力する制限情報入力手段107
と、制限情報106に基づいて対象の回路101から所
望の検証に不必要な回路を削除する論理削減手段103
と、不必要な回路を削除して得られた変換後の論理回路
105を出力する論理回路出力手段104を備えてい
る。
【0025】次に、例を用いて第1の実施の形態に係る
論理回路削減の方法を具体的に説明する。図2は論理回
路の削減の対象となるハードウェア記述言語を用いて記
述された論理回路の記述の例である。
【0026】図3は図2の論理回路に対してシミュレー
ション時の使用方法について与える制限情報の一例であ
る。
【0027】図3において300は制限を加える信号
名、301は加える制限の種類、302は信号を固定し
て用いる場合の信号値である。
【0028】論理回路に加える制限の種類301におい
て、"fix" は信号値を固定して用いることを示してい
る。
【0029】この制限は、必要とする検証を行なう期間
内には値を固定して用いる場合等に使用することができ
る。
【0030】また、"ignore"はシミュレーション時に値
を参照する必要のない信号であることを示しており、必
要とする検証において、値を観測する必要がない信号が
ある場合などに用いることができる。
【0031】図4は図2の論理回路を、図3の制限情報
に基づき第1の実施の形態での論理回路削減装置を使用
した結果作成される論理回路の記述の例である。
【0032】図23は第1の実施の形態に係るハードウ
ェアの構成図の一例を示しており、図23において、2
301は処理されたあらゆる情報をみるためのディスプ
レイ装置、2302は設計者があらゆる情報や処理命令
を入力するためのキーボード、2303はあらゆる処理
を行う中央演算処理装置、2304は各情報を格納する
記憶装置である。
【0033】図24は論理削減手段103で実行する論
理の削減方法を示す図である。図24において、240
1は制限情報106に処理していない項目が存在するか
どうかを判定する処理、2402は制限情報106から
未処理の制限情報を選択する処理、2403は選択した
制限情報により指定される信号を含む被代入項または式
の中に未処理のものが存在するかどうかを判定する処
理、2404は選択した制限情報により指定される信号
を含む被代入項または式を選択する処理、2405は2
404で選択した式を2402で選択した制限情報を用
いて論理の圧縮を行なう処理、2406は2405で論
理圧縮された式または2404で選択した被代入項を含
む文を圧縮または削除する処理である。
【0034】2405の式の圧縮処理では、制限情報が
信号の固定である場合に、選択した式中の指定信号を定
数に置き換え、演算規則に従い論理を圧縮する。
【0035】2406の文の圧縮または削除処理では、
条件式が固定値となった条件文の圧縮、被代入項の信号
が固定する信号または観測する必要がない信号に指定さ
れている場合の代入文の削除、文を削除することより内
容のなくなった複文の削除を行なう。
【0036】次に、実際に図24の方法に従い、図2の
論理回路の記述を図3の制限情報を用いて圧縮する手順
について説明する。
【0037】図2の論理回路に対して図3の制限情報が
与えられた場合、まず最初の制限情報303に注目す
る。
【0038】制限情報303はレジスタ変数"mode"を定
数に固定する指定であるため、図2からレジスタ変数"m
ode"を含む式を検索し、選択した式に含まれる変数"mod
e"を定数に置き換え、論理を圧縮する。
【0039】また、信号を固定する変数が代入文の左辺
に存在する場合、その文を削除する。
【0040】具体的には図2での30行から37行に対
しては、各代入文の右辺の式に変数"mode"が含まれるた
め、これを固定値(16進数の"fa")に置き換え、式を
論理圧縮することにより、図4の21行から24行のよ
うに圧縮され、図2での20行と23行に対しては各代
入文の被代入項が値を固定する信号であるため、その代
入文を削除し、これによりif文とalways文の内容がなく
なるためこれらも削除し結局18行から25行の文が削
除される。
【0041】次に、第2の制限情報304に注目し、変
数"re"が含まれる式を圧縮する。
【0042】さらに、第3の制限情報305に注目す
る。
【0043】制限情報305は変数"sigovf"を観測しな
いという指定であるため、"sigovf"の値をシミュレーシ
ョン中に求める必要はない。
【0044】このため、図2の41行の"sigovf"を被代
入項に持つ代入文を削除する。
【0045】以上の処理により、論理回路図2の記述は
図4に変換される。
【0046】なお、ここでは入力とする論理回路とし
て、Verilog-HDLで書かれたRTレベルの記述を用いた例
を用いたが、VHDLやその他の記述言語、また動作レベル
やゲートレベルの記述に対しても同様に不要部分の削除
を行なえることは言うまでもない。
【0047】以上のように、本発明の第1の実施の形態
によれば、請求項1に係る発明である論理回路削減装置
によって、シミュレーションの対象となる論理回路か
ら、目的とする検証に不必要な部分を削除することによ
り、高速なシミュレーションが可能で、回路規模の小さ
いシミュレーションモデルの記述を得ることができる。
【0048】(第2の実施の形態)第2の実施の形態で
は、請求項2、3に係る発明に関して図を用いて説明す
る。図5は請求項2、3に係るシミュレータの構成を示
す図である。
【0049】図5において論理回路のシミュレータ50
0は、被検証対象回路501を入力する論理回路入力手
段502と、論理回路に対するミュレーション実行時の
制限情報507を入力する制限情報入力手段508と、
静的な制限情報507に基づいて対象回路から所望の検
証に不必要な回路をシミュレーション開始前に削除する
第1の論理削減手段503と、動的な制限情報に基づい
てシミュレーション時刻を分割するシミュレーション時
刻分割手段509と、分割されたシミュレーション時刻
毎に被検証対象回路(論理削減後の論理回路504)か
ら不要部分を削除してシミュレーションモデルを作成す
る第2の論理回路削減手段505と、作成されたシミュ
レーションモデルを用いてシミュレーションを行なうシ
ミュレーション手段506を備えている。
【0050】次に、例を用いて第2の実施の形態に係る
シミュレータを具体的に説明する。
【0051】図6はシミュレーション対象となる論理回
路により構成されるシステムモデルの最上位階層を表す
記述の一部である。
【0052】ただし、図6において、モジュール"filte
r"は、図2の記述で表された論理回路である。
【0053】図7は図6のシステムモデルに対してシミ
ュレーション時の使用方法について与える制限情報の一
例である。
【0054】図7において700は制限を加える信号ま
たはモジュール名である。
【0055】701は加える制限の種類であり、"fix"
は信号値を固定して用いることを示し、"ignore"はシミ
ュレーション時に値を参照する必要のない信号であるこ
とを示し、"remove"はモジュールインスタンスを取り除
くことを示している。
【0056】702は信号を固定して用いる場合の信号
値であり、"hold"は信号値を固定する時刻に設定されて
いる値に固定することを示している。
【0057】703は制限を加えるシミュレーション時
刻を設定する条件、704は制限を解除するシミュレー
ション時刻を設定する条件であり、"initial"はシミュ
レーション開始前に制限を加えることを示し、"#1000"
はシミュレーション時刻"1000"に制限を加えることを示
し、"posedge system.mode"、"negedge system.mode"は
それぞれ信号"mode"の値が1または0に変化した時点で
制限の設定、解除を行なうことを示している。
【0058】図25は、図5の505で実行する論理回
路削減方法を示す図である。
【0059】図25において、2501は時刻分割手段
509により分割された時刻に加える制限の中に未処理
のものが存在するかを判定する処理、2502は制限情
報507から処理を行なう制限を選択する処理、250
3は選択した制限を用いてインスタンス内の論理回路を
圧縮する処理、2504は選択した制限に従いインスタ
ンスを削除する処理、2505は削除したインスタンス
の出力ポートに接続していた信号線をインスタンスを削
除した時点での値に設定する処理、2506は時刻分割
手段509により分割された時刻に解除する制限の中に
未処理のものが存在するかを判定する処理、2507は
解除する制限を選択する処理、2508は選択した制限
を用いて加えていた変更を元の状態に戻す処理である。
【0060】ただし、2503の論理回路を圧縮する処
理では第1の実施の形態で示した図24に従い、論理の
圧縮を行なう。
【0061】図23は第2の実施の形態に係るハードウ
ェアの構成図の一例を示しており、図23において、2
301は処理されたあらゆる情報をみるためのディスプ
レイ装置、2302は設計者があらゆる情報や処理命令
を入力するためのキーボード、2303はあらゆる処理
を行う中央演算処理装置、2304は各情報を格納する
記憶装置である。
【0062】第2の実施の形態に係るシミュレータで
は、被検証対象回路(図6)と制限情報(図7)が与え
られると、制限情報(図7)の中から、シミュレーショ
ン開始前に処理可能な静的な制限情報を選び出し、第1
の論理削減手段503により、第1の実施の形態と同様
に回路を削減する。
【0063】図7の例では、703に"initial"の設定
がされ、704には何も設定されていない項目が選び出
され、インスタンス"system.filter1"に対応するモジュ
ールは図4のように変換され、インスタンス"system.fi
lter2"に対応するモジュールは図8のように変換され
る。
【0064】次に、第1の論理削減手段503により作
成されたシミュレーションモデルを用いて、シミュレー
ション手段506によりシミュレーションを行なう。
【0065】この時、第2の実施の形態に係るシミュレ
ータでは、シミュレーション時刻分割手段509によ
り、シミュレーションの実行時に制限情報に指定された
条件703または704が成立していないかを観測し、
成立している場合、第2の論理回路削減手段505によ
り、被シミュレーション対象のモデルを動的な制限情報
に基づいて図25のように変換する。
【0066】図7の例では、4行と7行が動的な制限情
報に相当する。
【0067】まず、シミュレーションが図7の第4行の
制限を加えるシミュレーション時刻を設定する条件であ
る時刻1000に達し、この時の変数"system.filter2.
mode"の値が8'hfaであるとすると、第2の論理回路削減
手段505はインスタンス"system.filter2"に対応する
モジュールの記述(図8)の変数"mode"を8'hfaに固定
して第1の実施の形態と同様に論理を削減し、図4のよ
うに変換する。
【0068】そして、シミュレーション手段506は、
インスタンス"system.filter2"に対応するモデルとして
図8の代わりに図4を用いてシミュレーションを続行す
る。
【0069】次に、信号sys.modeの値が0から1に変化
した場合、図7の第7行の制限に対し、制限を加えるシ
ミュレーション時刻を設定する条件が成り立つため、制
限情報に基づきシミュレーション対象(図6)からイン
スタンス"system.filter2"を取り除いたモデル(図9)
を作成し、図6の代わりに図9を用いてシミュレーショ
ンを続行する。
【0070】ただし、この時削除したインスタンスの出
力値については、削除時の値を保持するように設定して
いる。
【0071】さらに、信号sys.modeの値が1から0に変
化した場合、図7の第7行の制限に対し、制限を解除す
るシミュレーション時刻を設定する条件が成り立ち、実
行中のシミュレーション対象を図9から図6に戻してシ
ミュレーションを継続する。
【0072】ただし、この時戻されるインスタンス"sys
tem.filter2"の内部状態は、削除時の値を用いる。
【0073】なお、第2の実施の形態では制限を加える
シミュレーション時刻の設定を制限情報としてシミュレ
ーション開始前に与えているが、論理回路のシミュレー
タにユーザインタフェースを付加して、シミュレーショ
ン途中に与えることも可能である。
【0074】以上のように、本発明の第2の実施の形態
によれば、請求項2、3に係る発明である論理回路のシ
ミュレーション方法により、シミュレーションの対象と
なる論理回路から、目的とする検証に一定の期間不必要
になる部分を、特定期間削除することにより、目的とす
る検証に必要なシミュレーションを高速に行なうことが
可能となる。
【0075】(第3の実施の形態)第3の実施の形態で
は、請求項4にかかる発明について図を用いて説明す
る。
【0076】図10は請求項4に係る論理シミュレーシ
ョン手段の論理回路制限情報を抽出する手段の概略概念
図である。
【0077】図10において1001は解析対象のソフ
トウェア命令系列であるマシン語である。1011は論
理回路に与えることができる制限情報である論理回路部
可制限情報であり、1012は可制限情報を入力する可
制限情報入力手段である。1002は可制限情報入力手
段1012からの情報より、論理回路の制限情報106
を抽出する制限情報抽出手段である。
【0078】図23は第3の実施の形態に係るハードウ
ェアの構成図の一例を示しており、図23において、2
301は処理されたあらゆる情報をみるためのディスプ
レイ装置、2302は設計者があらゆる情報や処理命令
を入力するためのキーボード、2303はあらゆる処理
を行う中央演算処理装置、2304は各情報を格納する
記憶装置である。
【0079】次に、例を用いて第3の実施の形態の論理
シミュレーション手段を具体的に説明する。図11はシ
ミュレートされるプロセッサの命令セットの一例であ
る。命令LDはアドレスにより指定されるメモリ領域の
データからレジスタAまたはレジスタBにデータを転送
するデータ転送命令である。命令STはレジスタAまた
はレジスタBからアドレスにより指定されるメモリ領域
にデータを転送するデータ転送命令である。命令MOV
はソースで指定されるレジスタAもしくはレジスタBま
たは定数値をデスティネーションで指定されるレジスタ
AもしくはレジスタBまたはレジスタPSR(プロセッ
サステータスレジスタ)に代入する算術演算命令であ
る。レジスタPSRの1ビット目は割込みに対するマス
クビットになっており、このビットが1の場合は割込み
を受け付けず、0の場合は割込みを受け付ける。スター
ト時はPSRの1ビット目は1に設定されている。ま
た、割込みを受け付けた時は自動的にPSRの1ビット
目に1が設定される。命令ADDはソースで指定される
レジスタAもしくはレジスタBまたは定数値とデスティ
ネーションで指定されるレジスタAまたはレジスタBと
を加算し、結果をデスティネーションで指定されている
レジスタに代入する算術演算命令である。命令SUBは
ソースで指定されるレジスタAもしくはレジスタBまた
は定数値をデスティネーションで指定されるレジスタA
またはレジスタBから減算し、結果をデスティネーショ
ンで指定されているレジスタに代入する算術演算命令で
ある。命令MULはソースで指定されるレジスタAもし
くはレジスタBまたは定数値とデスティネーションで指
定されるレジスタAまたはレジスタBとを乗算し、結果
をデスティネーションで指定されるレジスタに代入する
算術演算命令である。命令CMPはソースで指定される
レジスタAもしくはレジスタBまたは定数値とデスティ
ネーションで指定されるレジスタAまたはレジスタBと
を比較し、等しければ比較結果フラグをセットし、等し
くなければ比較結果フラグをリセットする比較命令であ
る。比較結果フラグは次にCMP命令が実行されるまで
保存される。命令BEQは、比較結果フラグがセットさ
れていれば、ラベルで指定されている命令位置に処理を
ジャンプさせる条件分岐命令である。命令JMPはラベ
ルで指定されている命令位置に処理をジャンプさせる無
条件分岐命令である。命令RETIは割り込み信号が入
力された後に処理される割り込み処理から、割り込み信
号が入力される前に処理されていた命令位置に処理を戻
す割り込み処理復帰命令である。命令NOPは何も処理
を行わない。命令HALTは割り込みが入力されるまで
何も行なわない。このプロセッサは1クロックに1命令
実行することができる。
【0080】図12は、プロセッサ部と論理回路部とか
ら成る被検証対象回路の例である。1201は図11の
命令セットを持つプロセッサである。1202はプロセ
ッサ1201に接続されているデータメモリである。1
203は図2のハードウェア記述言語を用いて記述され
た論理回路である。1204、1205はセレクタであ
り、1206はインバータである。
【0081】図13は実行するプログラムの一例であ
る。図13において一列が一命令を表しており、左から
ラベル、命令、デスティネーション、ソースの順番で記
述されている。1301が通常実行されるプログラムで
あり、1302が割込み受付時に実行されるプログラム
である。
【0082】図12より1201のプロセッサのAD
[7]が1202のデータメモリと1203のフィルタへ
のアクセスを切り替えている。このため図12のプロセ
ッサ1201からみたメモリマップと割込み情報より、
図14の論理回路の可制限情報を作成することができ
る。1401がアクセスされるアドレスとアクセス条
件、1402が1401へのアクセスが行われた時にア
クティブになるモジュール、信号またはレジスタ変数を
示している。1403は1401のアクセスが行われな
い場合、そのモジュール、信号またはレジスタ変数に対
する処理を示している。1行目はアドレス0x80への
あらゆるアクセスが行われない場合、モジュールfil
terが削除されることを示している。2行目は0x8
0のアドレスがフィルタの‘mode’レジスタ変数に
割り当てられていることを示している。3行目はアドレ
ス0x80への読み出しアクセス時に‘filter.
re’信号がアクティブになり、それ以外はこの信号が
無視できることを、4行目はアドレス0x80への書き
込みアクセス時に‘filter.we’信号がアクテ
ィブになり、それ以外はこの信号が無視できることを示
している。5行目はPSRの1ビット目が0であれば、
‘filter.sigovf’信号がアクティブにな
り、それ以外では無視できることを示している。
【0083】図26に1002の制限情報抽出手段の内
部処理フローを示す。2601は割込みマスクの設定処
理抽出手段であり、2602は通常プログラムの制限情
報抽出手段であり、2603は割り込み処理プログラム
の制限情報抽出手段である。
【0084】1302の通常プログラムが2601の割
込みマスク設定処理抽出手段により、プロセッサの割込
みはリセット状態ではマスクされているため、初期化時
には割込みマスク状態であり、割込みマスクの解除とし
てラベルL8のプログラムアドレスが抽出される。次に
2602の通常プログラムの制限情報抽出手段と図14
の制限情報より、[0x80]への書き込みがラベルL
1のプログラムアドレスが抽出される。さらに2603
の割込み処理プログラムの制限情報抽出処理より、[0
x10]からの読み出しとして、ラベルLI1のプログ
ラムアドレス、[0x80]からの読み出しとしてラベ
ルLI0のプログラムアドレス、[0x80]への書き
込みとしてラベルLI3のプログラムアドレスが抽出さ
れる。これらの結果、図15の制限情報が抽出される。
【0085】図15において、1500は制限を加える
信号またはモジュール名である。1501は加える制限
の種類であり、1502は信号を固定して用いる場合の
信号値であり、1503は制限を加えるシミュレーショ
ン時刻を設定する条件であり、プロセッサのプログラム
カウンタのプログラムアドレスが一致した場合で与えて
いる。1504は制限を解除するシミュレーション時刻
を設定する条件であり、プロセッサのプログラムカウン
タのプログラムアドレスが一致した場合で与えている。
【0086】図15の制限情報の結果、図12の120
3のフィルタはプロセッサ1201のプログラムカウン
タがラベルL1のプログラムアドレスを実行するシミュ
レーション時刻から、プログラムカウンタがラベルL8
のプログラムアドレスを実行するシミュレーション時刻
までの間は図4に示す削減された論理回路となる。
【0087】以上のように、本発明の第3の実施の形態
によれば、請求項4に係る発明である論理シミュレーシ
ョン方法によって、プロセッサ部で実行されるソフトウ
ェアに依存した論理削減により、ハードウェアとソフト
ウェアの相互作用を高精度に且つ高速にシミュレーショ
ンすることが可能となる。
【0088】(第4の実施の形態)第4の実施の形態で
は、請求項5に係る発明について図を用いて説明する。
【0089】図16は請求項5に係る論理シミュレーシ
ョン装置の論理回路制限情報の生成および実行プログラ
ム生成までの概略概念図である。
【0090】図16において、1601はコンパイラに
入力される高級言語で記述されたソフトウェアコードで
あり、1611は1601のソフトウェアコードに対し
て検証対象を指定するソフトウェア指定情報であり、1
621は論理回路に与えることができる制限情報である
論理回路部可制限情報である。1612はソフトウェア
の指定情報を入力する手段であり、1622は可制限情
報を入力する可制限情報入力手段である。1602は1
612のソフトウェア指定情報入力手段からと1622
の論理回路の可制限情報より、プロセッサのソフトウェ
アプログラムをコンパイルするコンパイラである。16
02はプロセッサが直接実行可能なマシン語1631と
論理回路の制限情報1632を生成する。
【0091】図23は第4の実施の形態に係るハードウ
ェアの構成図の一例を示しており、図23において、2
301は処理されたあらゆる情報をみるためのディスプ
レイ装置、2302は設計者があらゆる情報や処理命令
を入力するためのキーボード、2303はあらゆる処理
を行う中央演算処理装置、2304は各情報を格納する
記憶装置である。
【0092】次に、例を用いて第4の実施の形態の論理
シミュレーション装置を具体的に説明する。
【0093】図17は、プロセッサ部と論理回路部とか
ら成る被検証対象回路の例である。1701は図11の
命令セットを持つプロセッサである。1702はプロセ
ッサ1701に接続されているデータメモリである。1
703、1704は図2のハードウェア記述言語を用い
て記述された論理回路である。1705、1706はセ
レクタであり、1707はインバータ、1708は論理
和である。
【0094】図18はコンパイル対象となる高級言語で
記述されたプログラムの一例である。図18の例ではC
言語で記述されている。
【0095】図17より1701のプロセッサのAD
[7]が1702のデータメモリと1703と1704の
フィルタF1、F2へのアクセスを切り替えている。A
D[ 6] はフィルタF1とF2へのアクセスを切り替え
ている。このため図17のプロセッサからみたメモリマ
ップと割込み情報より、図19の論理回路の可制限情報
を作成することができる。1901がアクセスされるア
ドレスとアクセス条件、1902が1901へのアクセ
スが行われた時にアクティブになるモジュール、信号ま
たはレジスタ変数を示している。1903は1901の
アクセスが行われない場合、そのブロック、信号または
レジスタ変数に対する処理を示している。1行目は0x
c0へのあらゆるアクセスが行われない場合、モジュー
ルF1が削除可能であることを、2行目は0x80への
あらゆるアクセスが行われない場合、モジュールF2が
削除可能であることを示している。3行目は0xc0の
アドレスがフィルタF1の‘mode’レジスタ変数に
割り当てられていることを示している。4行目は0x8
0のアドレスがフィルタF2の‘mode’レジスタ変
数に割り当てられていることを示している。5行目はア
ドレス0xc0への読み出しアクセス時に‘F1.r
e’信号がアクティブになり、それ以外はこの信号が無
視できることを、6行目はアドレス0xc0への書き込
みアクセス時に‘F1.we’信号がアクティブにな
り、それ以外はこの信号が無視できることを示してい
る。7行目はアドレス0x80への読み出しアクセス時
に‘F2.re’信号がアクティブになり、それ以外は
この信号が無視できることを、8行目はアドレス0x8
0への書き込みアクセス時に‘F2.we’信号がアク
ティブになり、それ以外はこの信号が無視できることを
示している。9行目はPSRの1ビット目が0であれ
ば、‘F1.sigovf’信号および‘F2.sig
ovf’がアクティブになり、それ以外では無視できる
ことを示している。
【0096】図20はソフトウェアの検証範囲を指定す
るソフトウェア指定情報である。F1set()関数を
無視するという情報が記述されている。
【0097】図21は1602のコンパイラが図18、
図19、図20の高級言語プログラム、論理回路の可制
限情報、ソフトウェア指定情報より生成したマシン語で
あり、図22が制限情報である。図22において、22
00は制限を加える信号またはモジュール名である。2
201は加える制限の種類であり、2202は信号を固
定して用いる場合の信号値であり、2203は制限を加
えるシミュレーション時刻を設定する条件である。図2
0のソフトウェア指定情報に従って、1602のコンパ
イラは図18のC言語よりF1set()関数をコンパ
イル対象から削除する。その結果、アドレス0xc0へ
のアクセスが全く行われなくなり、図19の1行目の可
制限情報より、図22の1行目の制限情報が生成され
る。
【0098】図22の制限情報の結果、モジュールF1
は削除され、図12の1203のフィルタはプログラム
カウンタがラベルL1のプログラムアドレスになったシ
ミュレーション時刻以降、図9に示す削減された論理回
路となる。
【0099】以上のように、本発明の第4の実施の形態
によれば、請求項5に係る発明である論理シミュレーシ
ョン装置によって、検証目的に応じて、プロセッサ部を
制御するソフトウェアを指定し、論理回路部に与えるこ
とができる制限情報から、プロセッサ部を制御するプロ
グラム命令系列を生成し、且つ論理回路部の制限情報を
生成するコンパイラを備え、生成された制限情報に基づ
き論理を削減することにより、シミュレーションを高速
化することが可能となる。
【0100】以上説明した様に、請求項1から請求項5
に対応する第1から第4の実施の形態の発明によれば、
論理回路に検証目的に応じた制限情報を与えることによ
り、論理回路を削減することが可能である。また、削減
された論理回路に対してシミュレーションを行なうこと
により、高速に論理検証を行なうことが可能である。ま
た、プロセッサ部とプロセッサにより制御される論理回
路部を持ち、ソフトウェアプログラムコードと論理回路
部が相互に作用するシステム全体のシミュレーションに
おいて、論理回路部の情報と、ソフトウェアの解析によ
り、検証を行なうソフトウェアから論理回路部の削減情
報を作成、論理を削減することにより高速なシミュレー
ションが可能である。
【0101】
【発明の効果】請求項1記載の論理削減装置によれば、
検証目的に応じた制限情報を与え、その制限情報に基づ
き論理回路から構成される被検証対象回路を削減する方
法により、被検証対象回路を入力し、検証目的に応じた
制限情報を入力し、入力した制限情報に基づき、入力さ
れた被検証対象回路を削減することができる。このた
め、高速に論理シミュレーションを行なうことができ
る。
【0102】請求項2記載の論理シミュレーション方法
によれば、削減された論理回路の動作をシミュレートす
る方法により、論理シミュレーションを高速化すること
ができる。
【0103】請求項3記載の論理シミュレーション装置
によれば、検証目的に応じた制限情報の各々にシミュレ
ーション時刻に依存した制限情報を与え、シミュレーシ
ョン時刻に依存した制限情報に基づき、シミュレーショ
ン時刻を分割し、分割されたシミュレーション時刻毎に
被検証対象回路の論理を削減し、論理シミュレートする
方法により、全体の論理シミュレーションを高速化する
ことができる。
【0104】請求項4記載の論理シミュレーション装置
によれば、プロセッサ部を制御するソフトウェアの命令
動作を解析し、論理回路部に与えることができる制限情
報を入力し、この制限情報とソフトウェアの命令動作の
解析結果から、論理を削減する制限情報を抽出し、抽出
された制限情報に基づき論理を削減する方法により、論
理シミュレーションを高速化することができる。
【0105】請求項5記載の論理シミュレーション装置
によれば、検証目的に応じて、プロセッサ部を制御する
ソフトウェアを指定し、論理回路部に与えることができ
る制限情報から、プロセッサ部を制御するプログラム命
令系列を生成するとともに論理回路部の制限情報を生成
し、生成された制限情報に基づき論理を削減する方法に
より、シミュレーションを高速化することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における構成を示す
ブロック図である。
【図2】本発明の第1、第2、第3および第4の実施の
形態において例として用いる論理回路をハードウェア記
述言語を用いて記述した図である。
【図3】本発明の第1の実施の形態において例として用
いる制限情報を示す図である。
【図4】本発明の第1および第3の実施の形態において
論理の削減結果として得られる論理回路を表す図であ
る。
【図5】本発明の第2の実施の形態における構成を示す
ブロック図である。
【図6】本発明の第2の実施の形態において例として用
いる論理回路の一部をハードウェア記述言語を用いて記
述した図である。
【図7】本発明の第2の実施の形態において例として用
いる制限情報を示す図である。
【図8】本発明の第2、第4の実施の形態において静的
な論理の削減結果として得られる論理回路を表す図であ
る。
【図9】本発明の第2の実施の形態において動的な論理
の削減結果として得られるシミュレーション対象を表す
図である。
【図10】本発明の第3の実施の形態における制限情報
抽出の概略概念のブロック図である。
【図11】本発明の第3の実施の形態におけるプロセッ
サの命令セットの例を示す図である。
【図12】本発明の第3の実施の形態におけるプロセッ
サ部と論理回路部とから成る被検証対象回路の例を示す
ブロック図である。
【図13】本発明の第3の実施の形態において実行する
プログラムを示す図である。
【図14】本発明の第3の実施の形態における論理回路
の可制限情報を示す図である。
【図15】本発明の第3の実施の形態において抽出され
た論理回路の制限情報を示す図である。
【図16】本発明の第4の実施の形態における論理回路
制限情報の生成および実行プログラム生成の概略概念の
ブロック図である。
【図17】本発明の第4の実施の形態におけるプロセッ
サ部と論理回路部とから成る被検証対象回路の例を示す
ブロック図である。
【図18】本発明の第4の実施の形態におけるコンパイ
ル対象となる高級言語で記述されたプログラムの一例を
示す図である。
【図19】本発明の第4の実施の形態における論理回路
の可制限情報を示す図である。
【図20】本発明の第4の実施の形態におけるソフトウ
ェアの検証範囲を指定するソフトウェア指定情報を示す
図である。
【図21】本発明の第4の実施の形態においてコンパイ
ラが生成したマシン語を示す図である。
【図22】本発明の第4の実施の形態においてコンパイ
ラが生成した論理回路の制限情報を示す図である。
【図23】本発明の第1、第2、第3および第4の実施
の形態におけるハードウェアの構成図の一例を示したブ
ロック図である。
【図24】本発明の第1の実施の形態において論理回路
の削減方法を示すフロー図である。
【図25】本発明の第2の実施の形態においてシミュレ
ーション対象を変換する方法を示すフロー図である。
【図26】本発明の第3の実施の形態において制限情報
抽出手段1002の概念フロー図である。
【符号の説明】
100 論理回路の変換装置 102 論理回路入力手段 103 論理削減手段 107 制限情報入力手段 500 論理回路のシミュレータ 502 論理回路入力手段 503 静的情報を用いる論理削減手段 505 動的情報を用いる論理削減手段 506 シミュレーション手段 508 制限情報入力手段 509 シミュレーション時刻分割手段 1002 制限情報抽出手段 1003 論理回路の制限情報を抽出する制限情報抽
出手段 1012 可制限情報を入力する可制限情報入力手段 1602 論理回路制御情報も生成するコンパイラ 1612 ソフトウェアの指定情報を入力するソフト
ウェア指定情報入力手段 1622 可制限情報を入力する可制限情報入力手段

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 論理回路から構成される被検証対象回路
    を入力する手段と、検証目的に応じた制限情報を与える
    制限情報入力手段と、前記制限情報に基づき、入力され
    た前記被検証対象回路を削減する論理削減手段を備えた
    論理回路削減装置。
  2. 【請求項2】 論理回路から構成される被検証対象回路
    の動作のシミュレーション装置であって、請求項1記載
    の論理回路削減装置を用いて論理を削減された論理回路
    の動作をシミュレートすることを特徴とする論理シミュ
    レーション方法。
  3. 【請求項3】 論理回路から構成される被検証対象回路
    の動作のシミュレーション装置であって、検証目的に応
    じかつシミュレーション時刻に依存した制限情報を与え
    る制限情報入力手段と、前記シミュレーション時刻に依
    存した前記制限情報に基づき前記シミュレーション時刻
    を分割するシミュレーション時刻分割手段と、分割され
    たシミュレーション時刻毎に入力された前記被検証対象
    回路を削減する論理回路削減手段とを備え、削減された
    論理回路の動作をシミュレートすることを特徴とする論
    理シミュレーション装置。
  4. 【請求項4】 プロセッサ部と、論理回路部とから成る
    被検証対象回路の動作の論理シミュレーション装置であ
    って、前記論理回路部の制限可能情報を与える可制限情
    報入力手段と、前記プロセッサ部を制御するソフトウェ
    アの命令動作を解析する手段と、前記ソフトウェアの命
    令動作の解析により制限情報を抽出する制限情報抽出手
    段と、抽出された前記制限情報に基づき前記被検証対象
    回路の前記論理回路部を削減する論理削減手段とを備
    え、前記プロセッサ部の命令動作まで含めて前記論理回
    路部の動作をシミュレートすることを特徴とする論理シ
    ミュレーション装置。
  5. 【請求項5】 プロセッサ部と、論理回路部とから成る
    被検証対象回路の動作の論理シミュレーション装置であ
    って、前記プロセッサ部を制御するソフトウェアの検証
    範囲を指定するソフトウェア指定情報入力手段と、前記
    論理回路部の制限可能情報を与える可制限情報入力手段
    と、前記ソフトウェア指定情報入力手段のソフトウェア
    指定情報と前記論理回路部の可制限情報より制限情報を
    生成し且つ前記プロセッサ部のプログラム命令系列を生
    成するコンパイラと、抽出された前記制限情報に基づき
    前記論理回路部を削減する論理削減手段とを備え、前記
    プロセッサ部の命令動作まで含めて前記論理回路部の動
    作をシミュレートすることを特徴とする論理シミュレー
    ション装置。
JP11193869A 1999-07-08 1999-07-08 論理回路削減装置ならびに論理シミュレーション方法および装置 Pending JP2001022808A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11193869A JP2001022808A (ja) 1999-07-08 1999-07-08 論理回路削減装置ならびに論理シミュレーション方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11193869A JP2001022808A (ja) 1999-07-08 1999-07-08 論理回路削減装置ならびに論理シミュレーション方法および装置

Publications (1)

Publication Number Publication Date
JP2001022808A true JP2001022808A (ja) 2001-01-26

Family

ID=16315115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11193869A Pending JP2001022808A (ja) 1999-07-08 1999-07-08 論理回路削減装置ならびに論理シミュレーション方法および装置

Country Status (1)

Country Link
JP (1) JP2001022808A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760889B2 (en) 2001-07-02 2004-07-06 Matsushita Electric Industrial Co., Ltd. Method for converting a logic circuit model
US6978429B2 (en) 2002-12-02 2005-12-20 Renesas Technology Corp. Logic simulation apparatus for performing logic simulation in high speed
JP2010146359A (ja) * 2008-12-19 2010-07-01 Nec Corp 動作合成システム、動作合成方法、及び動作合成用プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760889B2 (en) 2001-07-02 2004-07-06 Matsushita Electric Industrial Co., Ltd. Method for converting a logic circuit model
US6978429B2 (en) 2002-12-02 2005-12-20 Renesas Technology Corp. Logic simulation apparatus for performing logic simulation in high speed
JP2010146359A (ja) * 2008-12-19 2010-07-01 Nec Corp 動作合成システム、動作合成方法、及び動作合成用プログラム

Similar Documents

Publication Publication Date Title
US5557774A (en) Method for making test environmental programs
US5854929A (en) Method of generating code for programmable processors, code generator and application thereof
US6026226A (en) Local compilation in context within a design hierarchy
Herrera et al. Systematic embedded software generation from SystemC
EP0853792B1 (en) Method of producing a digital signal processor
JP4482563B2 (ja) ダイアグラミング環境言語のための単純化データ信号サポート
JP4994393B2 (ja) 単一のマスターモデルから異なる抽象化レベルの複数のモデルを生成するシステムと方法
EP0743599A2 (en) Method of generating code for programmable processor, code generator and application thereof
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
JP2007087215A (ja) ハードウェアモデルの変換処理に用いられるデータ構造、コンピュータプログラム、方法、及びシステム
JP3803561B2 (ja) 論理回路設計方法
US7447617B2 (en) Data processing device designing method, data processing device designing apparatus, program and computer readable information recording medium
JP2005063136A (ja) 半導体集積回路の設計装置、設計方法、及び設計プログラム
Leupers et al. Instruction set extraction from programmable structures
JP2001022808A (ja) 論理回路削減装置ならびに論理シミュレーション方法および装置
JP4152659B2 (ja) データ処理システムおよび設計システム
JPH10320212A (ja) キャッシュ向け最適化方法
JP2007018313A (ja) 回路設計プログラム、回路設計装置、回路設計方法
JP2004013190A (ja) ソフトウエア開発環境、シミュレータ及び記録媒体
US20010011214A1 (en) CPU core development support system, method for development support and recording medium storing a development support program thereof
JP2943590B2 (ja) インタプリタ型シミュレーション方法
JP2990882B2 (ja) 機能シミュレーション装置
WO2000068782A1 (fr) Procede de mise au point d'un circuit integre a semiconducteur
JP2982418B2 (ja) 機能シミュレーション装置
JP2000305967A (ja) 状態遷移情報調整装置及び回路設計装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体