JP2001067385A - 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置 - Google Patents

半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置

Info

Publication number
JP2001067385A
JP2001067385A JP23941599A JP23941599A JP2001067385A JP 2001067385 A JP2001067385 A JP 2001067385A JP 23941599 A JP23941599 A JP 23941599A JP 23941599 A JP23941599 A JP 23941599A JP 2001067385 A JP2001067385 A JP 2001067385A
Authority
JP
Japan
Prior art keywords
timing
violation
event
address
terminal
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
JP23941599A
Other languages
English (en)
Inventor
Akiomi Nahata
晃臣 菜畑
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP23941599A priority Critical patent/JP2001067385A/ja
Publication of JP2001067385A publication Critical patent/JP2001067385A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】回路検証時間の短縮を実現するタイミング検証
方法を提供する。 【解決手段】RAMブロックの入力端子がタイミングチ
ェック対象端子であればクロック信号の変化イベント発
生に合わせて仮想イベントをスケジュールし(A20
6)、端子毎に異なった時刻に変化するアドレス端子の
変化イベント発生とクロック信号の変化イベント発生と
の時間差を算出し(A207)、算出した時間差と予め
定めたタイミングスペックとを比較し、比較結果の値が
タイミングスペックよりも小さければタイミング違反と
判定して違反アドレス端子として記憶し(A210)、
仮想イベントが発生すると、その時のアドレス信号と記
憶した違反アドレス端子からタイミング違反に関わった
タイミングチェック対象端子の対象アドレスを求め(A
211)、その対象アドレスにのみタイミング違反処理
を行う(A212)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は半導体装置内蔵のラ
ンダムアクセスメモリ部のタイミング検証方法および検
証用論理シミュレーション装置に係わり、特にアドレス
信号とクロック信号との間のタイミング違反発生時に、
不定値Xを書込むというタイミング違反処理を全アドレ
スに実行すこと無く、違反対象アドレスにのみ違反処理
を実行することにより、シミュレーション時間短縮およ
びシミュレーション回数の減少による回路検証時間の短
縮をはかる半導体装置内蔵のランダムアクセスメモリ部
のタイミング検証方法および検証用論理シミュレーショ
ン装置に関する。
【0002】
【従来の技術】従来、半導体装置における内部回路の論
理回路設計時に、その論理動作およびタイミング検証の
ツールとして論理シミュレーション装置が用いられてい
る。この論理動作を検証するための論理シミュレーショ
ン装置における一方式として、例えばイベントドリブン
方式と呼ばれるものがある。
【0003】このイベントドリブン方式は、クロック信
号やアドレス信号等の論理レベルの変化を回路の論理状
態に影響を与えるイベントとして記憶手段に登録してお
き、このイベントを順次読み出しながらデータの内容を
更新する。このデータを入力とする内部論理回路につい
て演算処理を行ない、その出力信号に変化があれば遅延
量を勘案しながら順次イベントとして登録し、シミュレ
ーションを実行するというものである。
【0004】上述した論理シミュレーションを半導体装
置内蔵のランダムアクセスメモリ(以下、RAMと称
す)部に対して実行する時、このRAMの記憶内容を選
択するためのアドレス信号入力用として複数本から構成
されるアドレス端子が用意される。このアドレス端子の
電位は、外部から供給された時点とアドレス端子に到着
した時点とでは、アドレス信号のスキューにより異なる
時刻に変化する。
【0005】そのため、アドレス信号とクロック信号と
のタイミング違反が発生した場合、イベントドリブンシ
ミュレータでは、異なった時刻に、各アドレス端子毎に
タイミング違反を検出する。
【0006】ここでタイミング違反とは、アドレス信号
とクロック信号との間には正常な信号の授受のために安
定化された期間が必要とされ、これに対応するためにタ
イミングスペックとして、セットアップタイムおよびホ
ールドタイムが設けられている。このセットアップタイ
ムおよびホールドタイムが守られないとRAMの読み出
しおよび書込み動作時に誤動作することになる。
【0007】すなわち、セットアップタイム説明用のタ
イミングチャートを示した図12(a)を参照すると、
セットアップタイムはクロック信号を基準として、その
変化タイミング以前の時点でアドレス信号が確定してい
る必要があり、そのアドレス信号が確定した時点とクロ
ック信号の変化タイミングとの間の時間をセットアップ
(Setup)タイムtsuと定義する。
【0008】一方、ホールドタイム説明用のタイミング
チャートを示した図12(b)を参照すると、ホールド
タイムはクロック信号を基準として、その変化タイミン
グ以後の時点でアドレス信号が確定している必要があ
り、クロック信号の変化タイミングとそのアドレス信号
が確定した時点との間の時間をホールド(Hold)タ
イムthと定義する。
【0009】上述したセットアップタイムおよびホール
ドタイムがタイミングスペックを満たしているかを検証
する方法として論理シミュレーションにおけるタイミン
グ検証が採用されている。
【0010】したがって、従来例におけるタイミング違
反を説明するためのタイミングチャートを示した図13
を参照すると、データ入力端子Dinとアドレス信号A
D[3:0]とクロック信号CLKとライトイネーブル
信号とデータ出力DOとの関係を示してある。
【0011】すなわち、4本のアドレス信号AD
[3]、AD[2]、AD[1]、AD[0]から構成
されるアドレス信号とクロック信号CLKとのタイミン
グ違反を想定した場合、これらのアドレス信号は図中の
タイミングチャートの外側に引き出して図示したよう
に、それぞれの信号の変化タイミングは、例えばAD
[3]が論理レベルのロウレベルからハイレベルへ、A
D[2]はロウレベル一定、AD[1]はハイレベルか
らロウレベルへ、AD[0]はロウレベルからハイレベ
ルへの変化タイミングを有する場合、変化タイミングは
左右方向(矢印で示す)に互いに独立して変化すると考
えられる。
【0012】つまり、タイミングt1において入力端子
AD[3]=0、AD[2]=0、AD[1]=1、A
D[0]=0を“0010”と表すと、Hold Sp
ecタイムは太い矢印で示したt1からt2の間であ
り、この間にタイミング“0010”からt2の“10
01”へ遷移する場合、それぞれの変化タイミングは
“0010”→“1010”→“1011”→“100
1”とアドレスが変化することになる。
【0013】そのため、1度目のタイミング違反時には
“0010”、“1010”の2通りのアドレスに不定
値Xを書き込むタイミング違反処理を行ない、2度目の
タイミング違反時には1010、1011の2通りのア
ドレスに不定値Xを書き込むタイミング違反処理を行な
い、更に、3度目のタイミング違反時には1011、1
001の2通りのアドレスに不定値Xを書き込むタイミ
ング違反処理を行なうことになり、計4通りのアドレス
に不定値Xを書き込むタイミング違反処理を行なうこと
になる。
【0014】しかし、このタイミング違反の例では、ア
ドレス信号AD[2]を除く3本のアドレス信号AD
[3],AD[1],AD[0]においてタイミング違
反が発生しているため、23 =8通りのアドレス、すな
わち、“0000”、“0001”、“0010”、
“0011”、“1000”、“1001”、“101
0”、“1011”に不定値Xを書き込むタイミング違
反処理を行なわなければならないが、従来例のタイミン
グ違反処理によるRAMセルのデータの違いを示した図
14(a)および(b)を参照すると、不定値Xを書込
まなければならない8通りのアドレス(図14(b)に
対し4通りしか書き込まれず(図14(a)、不定値X
を書込まなければならないアドレスに不足が生じる。
【0015】上述したように、不定値Xを書き込まなけ
ればならないアドレスを全て網羅することができないた
め、従来のRAMモデルでは、アドレス信号とクロック
信号とのタイミング違反時に全アドレスに対して不定値
Xを書き込むタイミング違反処理を実行している。
【0016】従来例のタイミング違反処理フローを示し
た図15を参照すると、入力信号や内部ノードなどの変
化イベントを検出するステップA1と、タイミングチェ
ックを行いタイミングチェック対象端子でない場合およ
びタイミング違反でない場合はステップA3へ移るステ
ップ2Aと、定義された動作記述に基づき、回路内部の
状態、および出力変化を演算するステップA3と、ステ
ップA3での出力変化に対し、定義された遅延情報を与
えるステップA4と、ステップA3およびステップA4
から得た情報を合わせて結果出力を行うステップA6に
対するスケジュールを行うステップA5、それを受け
て、与えられた入力信号の変化に対する結果を出力する
ステップA6と、を有する。
【0017】ステップA2の詳細なフローチャートをし
た図16を参照すると、ステップA2の詳細ステップ
は、ステップA1で検出したイベントがタイミングチェ
ック対象端子か否かを判断しタイミングチェック対象端
子でない場合はステップA3へ進み、イベントがタイミ
ングチェック対象である場合は、ステップC2へ進むス
テップC1と、タイミングチェック対象の端子の場合は
タイミングスペック値を読み込むステップC2と、2つ
のイベント間の時間差を算出するステップC3と、算出
した時間差とタイミングスペックを比較し、タイミング
違反判定を行い、タイミング違反を検出しない場合はス
テップA3に移り、ステップA2においてタイミング違
反を検出する場合はステップC5へ進むステップC4
と、検出したタイミング違反の違反メッセージを出力す
るステップC5と、全アドレスに対してXを書き込み、
ステップA4へ移るステップC6と、からなる。
【0018】ステップC6における処理に基づきステッ
プA4ではステップC6の処理に対する遅延情報を得る
とともに、ステップA5ではステップC6における処理
結果とステップA4で得た遅延情報から出力結果をスケ
ジュールする。ステップA6では、ステップA5におい
てスケジュールされた処理を結果として出力する。
【0019】
【発明が解決しようとする課題】上述した従来技術の処
理方法では、アドレス信号およびクロック信号間がタイ
ミング違反の状態にあるとき、そのタイミングチェック
処理におけるステテップA2においては、全アドレスに
対してタイミング違反処理を実行していた。そのため、
タイミング違反に無関係なアドレスに対しても違反処理
を実行してしまうことになり、RAM部の出力を処理す
る後段回路には必ずRAM部のタイミングチェック処理
で設定した不定値Xが伝搬してしまい、1回のタイミン
グチェック処理ではRAM部の後段回路の検証が不可能
であるという問題点がある。
【0020】ここで、図15の処理フローを基に、Se
tupタイムのタイミング違反、Holdタイムのタイ
ミング違反それぞれについて理想の処理の実現可否につ
いて説明する。
【0021】まず、Setupタイム違反の場合を検討
すると、Setupタイムがスペック内ならばアドレス
端子の電位変化はクロック端子の電位が変化する前でな
ければならないが、タイミング違反を起こしているとき
はアドレス端子の電位変化後にクロック端子電位が変化
するため、クロック変化時刻にタイミング違反が発生す
ることになる。
【0022】したがって、タイミング違反がクロック変
化時刻と同時刻に発生するため、違反を起こしたアドレ
ス端子を検出することにより、後述する図1のステップ
A211、A212と同様の処理で理想のタイミング違
反処理の実行が可能である。
【0023】すなわち、Setup違反の場合は、アド
レス信号の変化をクロック信号の変化タイミングで一括
して見ることができるため、バスの変化として扱うこと
ができる。
【0024】しかし、Holdタイム違反の場合は、H
oldタイムがスペックを守っているならば、アドレス
端子の電位変化はクロック端子の電位が変化しスペック
期間を経過した後でなければならないが、タイミング違
反を起こしているときはクロック端子の電位変化後のス
ペック期間内に各アドレス端子の電位が変化する。その
ため、各アドレス端子の電位が同時刻に変化する場合を
除いて、前述した理由から対象アドレスを正確に求める
ことができない。
【0025】したがって、Holdタイム違反の場合
は、タイミングスペックth期間の後の期間などには必
ずしもイベントが発生しないため、アドレス信号の変化
をバスの変化として扱うことができず、イベントドリブ
ン方式の論理シミュレータでは処理が不可能であった。
【0026】発明の目的は、上述した従来の欠点に鑑み
なされたものであり、タイミング違反を起こしているア
ドレスに対してのみ違反処理を実行することにより、1
回のタイミングチェック処理でRAM部の後段回路の検
証が可能になり、シミュレーション時間の短縮およびシ
ミュレーション回数の減少による回路検証時間の短縮を
実現するタイミング検証方法を提供することにある。
【0027】
【課題を解決するための手段】本発明の半導体装置内蔵
RAM部のタイミング検証方法は、イベントドリブン方
式を用いた論理シミュレーション装置に適用される半導
体装置内蔵ランダムアクセスメモリ部のタイミング検証
方法において、前記タイミング検証の対象回路に含まれ
るランダムアクセスメモリブロックの入力端子でアドレ
ス信号とクロック信号とのタイミング違反を検出するタ
イミングチェック処理を実行する場合であって、前記入
力端子がタイミングチェック対象端子であれば前記クロ
ック信号の変化イベント発生タイミングに合わせて架空
のイベント発生としての仮想イベントをスケジュール
し、前記入力端子毎に異なった時刻に変化するアドレス
端子の変化イベント発生タイミングと前記クロック信号
の変化イベント発生タイミングとの時間差を算出し、算
出した時間差と予め定めたタイミングスペックとを比較
し、比較結果の値が前記タイミングスペックよりも小さ
ければ前記タイミング違反として判定するとともに違反
アドレス端子として記憶し、前記仮想イベントが発生す
ると、その時のアドレス信号と記憶した前記違反アドレ
ス端子から前記タイミング違反に関わった前記タイミン
グチェック対象端子の対象アドレスを求め、その対象ア
ドレスにのみタイミング違反処理を行うことを特徴とす
る。
【0028】また、前記違反対象アドレスにのみ違反処
理を実行することで、前記タイミング違反後、ランダム
アクセスメモリ部の後段回路への影響を抑制し、同一シ
ミュレーションにおいて前記後段回路まで検証を続行す
ることができる。
【0029】さらに、前記タイミング違反時に、全アド
レスのうち違反対象アドレスにのみ不定値Xを書き込む
ことにより、前記後段回路の回路検証では前記タイミン
グ違反を解消するための回路修正を施すこと無く不定値
Xが書き込まれていない残りのアドレスのみを対象に回
路検証を実行することもできる。
【0030】さらに、前記タイミング違反時に、全アド
レスのうち違反対象アドレスにのみ不定値Xを書き込
み、残りのアドレスのみを対象に回路検証を実行するこ
とによりシミュレーション回数を抑制することもでき
る。
【0031】さらにまた、前記ランダムアクセスメモリ
部でアドレス信号およびクロック信号間に前記タイミン
グ違反が発生した場合でも、前記ランダムアクセスメモ
リ部の違反対象外のアドレスには不定値Xを書き込まな
いことで違反対象外のアドレスからは確定値を読み出す
ことにより、1回目のシミュレーションで前記ランダム
アクセスメモリ部の前記後段回路で発生する前記タイミ
ング違反も検出することもできる。
【0032】また、前記タイミングチェック処理は、前
記タイミング検証の対象回路のネットリストおよび評価
パターンを記憶する入力手段と、各イベントに対する処
理を制御するデータ処理手段と、前記ネットリスト対象
の論理モデル群の動作を予め定義したデータが記憶され
る論理モデル記憶手段および前記論理モデル群の遅延情
報とタイミングスペックを定義した遅延ライブラリから
なる動作定義記憶手段と、前記データ処理手段からのシ
ミュレーション結果を出力する出力手段とにより、前記
対象回路内の前記ランダムアクセスメモリ・ブロックに
おける入力信号および内部ノード等のイベントを検出す
る第1ステップと、この第1ステップで検出したイベン
トがタイミング違反であるかを判定し、タイミング違反
を検出しない場合は、何も処理せずに次ステップに移行
し、タイミング違反を検出しない場合は前記タイミング
違反処理をする第2ステップと、予め定義された動作記
述に基づき、前記対象回路内部の状態および前記対象回
路の出力変化をスケジュールする第3ステップと、この
第3ステップおよび前記第2ステップの前記出力変化に
対して予め定義された遅延情報を与える第4ステップ
と、この第4ステップで処理された出力結果と前記第2
ステップで得た前記遅延情報からタイミングチェック結
果出力をスケジュールする第5ステップと、この第5ス
テップのスケジューリングに従い前記第3ステップおよ
び前記第4ステップから得た情報を合わせてシミュレー
ション結果出力を行う第6ステップと、を備える。
【0033】また、前記タイミング違反処理は、前記タ
イミング違反の判定により前記ランダムアクセスメモリ
・ブロックの前記アドレス端子と前記クロック端子にお
いて前記タイミング違反を検出した場合は、検出したイ
ベントがスケジュールされた前記仮想イベントであるか
を判定する第7ステップと、前記仮想イベントではない
場合は、そのイベントが前記タイミングチェック対象端
子であるかを判定する第8ステップと、前記タイミング
チェック対象端子ではない場合は、第3前記ステップへ
移行する第9ステップと、前記タイミングチェック対象
端子である場合は、前記クロック信号の変化イベントで
あるかを判定する第10ステップと、前記クロック信号
の変化イベントであれば、前記クロック信号の変化時刻
を記憶する第11ステップと、前記アドレス端子と前記
クロック端子に対する前記タイミング違反の判定基準と
なるスペック値を読み込む第12ステップと、前記スペ
ック値の読み込み後に前記仮想イベントをスケジュール
する第13ステップと、前記クロック信号の変化イベン
トではないと判定された場合は、前記アドレス端子の変
化時刻と第11ステップで記憶した前記クロック端子の
変化時刻との時間差を算出する第14ステップと、前記
クロック信号の変化イベント時に前記第12ステップで
読み込んだ前記タイミング違反の判定基準となるスペッ
ク値と前記第14ステップで求めた時間差を比較し、前
記タイミング違反かどうか判定し、前記タイミング違反
と判定されない場合は前記第3ステップへ移行し、前記
タイミング違反と判定された場合は、次の第16ステッ
プへ移行する第15ステップと、前記タイミング違反の
メッセージを出力する第16ステップと、前記タイミン
グ違反を起こした前記アドレス端子を記憶し、前記第1
ステップへ移行する第16テップと、前記第7ステップ
において前記仮想イベントと判定された場合は、記憶さ
れた違反アドレス端子の信号値を不定値Xに置き換える
第17ステップと、前記第17ステップにおいて前記違
反アドレス端子の信号値を不定値Xに置き換えたアドレ
スから対象アドレスを求める第18ステップと、前記不
定値Xの信号値に論理レベルの“0”、“1”を順番に
当てはめることにより、前記不定値Xに置き換えた端子
数n(nは整数)を指数とする2n 分の対象アドレスを
求め、その求めた対象アドレスに前記不定値Xを書き込
み、前記第4ステップへジャンプする第19ステップ
と、を有する。
【0034】本発明の他の特徴は、イベントドリブン方
式を用いた論理シミュレーションが適用される半導体装
置内蔵ランダムアクセスメモリ部のタイミング検証方法
において、前記タイミング検証の対象回路に含まれる非
同期式のランダムアクセスメモリブロックのランダムア
クセスメモリブロックの入力端子でライトイネーブル信
号とアドレス信号とのタイミング違反であるノーチェン
ジスペック違反を検出するタイミングチェック処理を実
行する場合であって、前記端子がタイミングチェック対
象端子であれば前記ライトイネーブル信号の変化イベン
ト発生タイミングに合わせて架空のイベント発生として
の仮想イベントをスケジュールし、前記端子毎に異なっ
た時刻に変化するアドレス端子の変化イベント発生タイ
ミングと前記ライトイネーブル信号の変化イベント発生
タイミングとの時間差を算出し、算出した時間差と予め
定めたタイミングスペックとを比較し、比較結果の値が
前記タイミングスペックよりも小さければ前記ノーチェ
ンジスペック違反として判定し、違反した違反アドレス
端子として記憶し、前記仮想イベントが発生すると、そ
の時のアドレス信号と記憶した前記違反アドレス端子か
ら前記ノーチェンジスペック違反に関わった前記タイミ
ングチェック対象端子の対象アドレスを求め、その対象
アドレスにのみタイミング違反処理を行うことを特徴と
する半導体装置内蔵ランダムアクセスメモリ部のタイミ
ング検証方法。
【0035】また、前記クロック信号に関する処理部分
をライトイネーブル信号に置き換えることにより、前記
タイミング違反に代えて、非同期式のランダムアクセス
メモリブロックにおける前記アドレス信号と前記ライト
イネーブル信号間のタイミング違反であるノーチェンジ
スペック違反を適用し、前記ノーチェンジスペック違反
時の処理を実行することもできる。
【0036】本発明のさらに他の特徴は、半導体装置内
蔵ランダムアクセスメモリ部のタイミング検証をするイ
ベントドリブン方式の論理シミュレーション装置におい
て、設計した前記半導体装置の回路構成を示すネットリ
スト記憶部と前記半導体装置の評価パターン記憶部とか
らなる入力手段と、イベント検出時の前記検証動作を予
め定義した論理動作定義部と前記イベントが予め定めた
スペックに対しタイミング違反をしていれば仮想イベン
トを発生させる仮想イベント発生部と前記タイミング違
反時の前記検証動作を予め定義したタイミング違反動作
定義部とをそれぞれ記憶する論理モデル記憶部並びに前
記論理モデルの遅延情報およびタイミングスペック値を
定義した遅延ライブラリで構成する動作定義記憶手段
と、前記入力部からの評価パターンにもとづき入力信号
の変化を検出するイベント検出部とこのイベント検出部
で検出したイベントがタイミングチェック対象端子であ
りクロック信号が変化していればその変化時刻を記憶す
るとともに前記スペック値を読み込みこのスペック値の
期間経過後に前記仮想イベント発生部で定義された動作
に基づき前記仮想イベント発生をスケジュールするスケ
ジューリング手段と前記タイミング違反であれば違反メ
ッセージを出力し違反端子を記憶させるための制御を実
行するタイミング違反処理手段とから構成するデータ処
理手段と、このデータ処理部の結果をファイルへ出力す
る出力部とから構成することにある。
【0037】
【発明の実施の形態】まず本発明の概要を説明すると、
タイミング検証の対象回路に含まれるRAMブロックの
入力端子でアドレス信号とクロック信号とのタイミング
違反を検出するためのタイミングチェック処理を実行す
る場合であって、その入力端子がタイミングチェック対
象端子であれば、クロック信号の変化イベント発生タイ
ミングに合わせて架空のイベント発生としての仮想イベ
ントをスケジュールする。
【0038】そして、入力端子毎に異なった時刻に変化
するアドレス端子の変化イベント発生タイミングとクロ
ック信号の変化イベント発生タイミングとの時間差を算
出し、算出した時間差と予め定めたタイミングスペック
とを比較する。
【0039】比較結果の値がタイミングスペックよりも
小さければタイミング違反として判定し、違反した違反
アドレス端子として記憶する。
【0040】仮想イベントが発生すると、その時のアド
レス信号と記憶した違反アドレス端子からタイミング違
反に関わったタイミングチェック対象端子の対象アドレ
スを求め、その対象アドレスにのみタイミング違反処理
を行うものである。
【0041】次に、本発明の第1の実施の形態を図面を
参照しながら説明する。先ず第1の実施の形態を適用す
る一例のシステム構成を示した図1を参照すると、ここ
で適用するイベントドリブン方式の論理シミュレーショ
ン装置は、設計した半導体装置の回路構成を示すネット
リスト11と半導体装置の評価パターン12とからなる
入力手段である入力部1と、イベント検出時の検証動作
を予め定義した論理動作定義部211とイベントがクロ
ック変化であれば仮想イベントを発生させる仮想イベン
ト発生部212とタイミング違反時の検証動作を予め定
義したタイミング違反動作定義部213とをそれぞれ記
憶する論理モデル21並びに論理モデル21の遅延情報
およびタイミングスペック値を定義した遅延ライブラリ
22で構成し、後述するデータ処理部からの命令(入力
信号値など)を受け取り、各定義にしたがった結果をデ
ータ処理部へ返す動作定義記憶手段である動作定義部2
と、入力部1からの評価パターン12にもとづき入力信
号の変化を検出するイベント検出部31とこのイベント
検出部31で検出したイベントがタイミングチェック対
象端子でありクロック信号が変化していればその変化時
刻を記憶するとともにスペック値を読み込みこのスペッ
ク値の期間経過後に仮想イベント発生部212で定義さ
れた動作に基づき仮想イベント発生をスケジュールする
スケジューリング手段32とタイミング違反であれば違
反メッセージを出力し違反端子を記憶させるための制御
を実行するタイミング違反処理手段33とから構成する
データ処理手段であるデータ処理部3と、このデータ処
理部3の結果をファイルへ出力する出力部4とから構成
する。
【0042】上述したシステム構成におけるタイミング
違反処理のフローを説明する。初めに各ステップの概略
を、第1の実施形態の処理フローチャートを示した図2
および第2ステップA2のタイミングチェック処理の詳
細なフローチャートを示した図3をそれぞれ参照しなが
ら説明すると、第1ステップA1は、対象回路内の内部
セルであるRAMブロックにおける入力信号および内部
ノード等のイベントを検出する。
【0043】第2ステップA2では、第1ステップA1
で検出したイベントがタイミング違反であるかを判定
し、タイミング違反を検出しない場合は、何も処理せず
に次の第3ステップA3に移行し、タイミング違反を検
出した場合はタイミング違反処理を実行する。
【0044】第3ステップA3は、予め定義された動作
記述に基づき論理演算を行い、検証対象回路内部の状態
および検証対象回路の出力信号変化をスケジュールす
る。
【0045】第4ステップA4は、第3ステップA3お
よび第2ステップA2の出力変化に対して予め定義され
た遅延情報を与える。
【0046】第5ステップA5は、第3ステップA3で
処理された出力結果と第4ステップA4で得た前記遅延
情報からシミュレーション結果出力をスケジュールす
る。第6ステップA6は、第5ステップA5のスケジュ
ーリングに従い第3ステップA3および第4ステップA
4から得た情報を合わせてタイミングチェック結果出力
を行うものである。
【0047】次に、上述した第2ステップA2のタイミ
ングチェック処理(タイミング違反処理)において、R
AMブロックのアドレス端子とクロック端子においてH
oldタイミング違反を検出した場合についてさらに詳
細なフローで説明する。
【0048】図3を参照すると、上述したステップA1
のイベント検出を受け、ステップA201では、検出し
たイベントがスケジュールされた仮想イベントであるか
を判定する。
【0049】ステップA202では、判定の結果が仮想
イベントではない場合は、そのイベントがタイミングチ
ェック対象端子であるか否かを判定する。
【0050】ステップA203では、判定の結果がタイ
ミングチェック対象端子ではない場合は、前述したステ
ップA3へ移行する。
【0051】ステップA203では、判定の結果がタイ
ミングチェック対象端子である場合は、クロック信号の
変化イベントであるかを判定する。
【0052】ステップA204では、判定の結果がクロ
ック信号の変化イベントであれば、クロック信号の変化
時刻を記憶する。
【0053】ステップA205では、アドレス端子とク
ロック端子に対するタイミング違反の判定基準となるス
ペック値を読み込む。
【0054】ステップA206では、スペック値後に仮
想イベントをスケジュールする。
【0055】ステップA207では、クロック信号の変
化イベントではないと判定された場合は、前述したアド
レス端子の変化時刻とステップA204で記憶したクロ
ック端子の変化時刻との時間差を算出する。
【0056】ステップA208では、クロック信号の変
化イベント時にステップA205で読み込んだタイミン
グ違反の判定基準となるスペック値とステップA207
で求めた時間差を比較してタイミング違反かどうかを判
定する。その結果、タイミング違反と判定されない場合
はステップA3へ移行し、タイミング違反と判定された
場合は次のステップA209へ移行する。
【0057】ステップA209では、タイミング違反の
メッセージを出力するとともに、ステップA210で
は、タイミング違反を起こしたアドレス端子を記憶し、
ステップA1へ移行する。
【0058】ステップA211では、ステップA201
において仮想イベントと判定された場合は、記憶された
違反アドレス端子の信号値を不定値Xに置き換える。
【0059】ステップA212では、ステップA211
において違反アドレス端子の信号値を不定値Xに置き換
えたアドレスから対象アドレスを求める。
【0060】ステップA212では、不定値Xの信号値
に論理レベルの“0”、“1”を順番に当てはめること
により、不定値Xに置き換えた端子数n(nは整数)を
指数とする2n 分の対象アドレスを求め、その求めた対
象アドレスに不定値Xを書き込み、ステップA4へジャ
ンプする。
【0061】次に、ステップA213の処理を受けてス
テップA4では、遅延ライブラリ21から得た遅延値情
報を付加する。
【0062】ステップA5では、ステップA212で処
理された出力結果とステップA4で得た遅延情報から結
果出力をスケジュールする。
【0063】最後に、ステップA6において、ステップ
A5でスケジュールされた結果をファイル等へ出力す
る。
【0064】次に、上述したステップに沿って、図1、
図2および図3と、同期式1PORT RAM単体のシ
ンボルを示す図4と、同期式1PORT RAMの真理
値表を示した図5と、本発明で解決できるアドレスおよ
びクロックのHold違反の一例をタイミングチャート
で示した図6とをそれぞれ併せて参照しながらさらに詳
述する。なお、動作説明に用いる回路は、同期式1PO
RT RAM単体で構成した回路データとし、データ入
力端子41とアドレス端子42とクロック端子43とラ
イトイネーブル端子44とデータの出力端子45とを有
する。
【0065】アドレスAD[3:0]は4ビットのデー
タとする。また、説明を容易にするために、ここでは出
力端子45へ出力される出力信号DOに対する遅延は考
慮しないことにする。
【0066】図5を参照すると、ライトイネーブル信号
がハイレベルであれば、データ入力DinをクロックC
LKの立ち上がりタイミングでアドレス信号ADnの指
す番地に記憶し、記憶したデータDinを出力する。
【0067】ライトイネーブル信号がロウレベルであれ
ば、データ入力Dinには無関係で、クロックCLKの
立ち上がりタイミングでアドレス信号ADnの指す番地
に記憶したデータを出力する。
【0068】クロックCLKがロウレベルであれば、ラ
イトイネーブル信号とデータ入力Dinとアドレス信号
ADnとには無関係で、データ出力は前の状態を保持す
る。
【0069】図6を参照すると、この図に示したタイミ
ングチャートでは、データ入力Dinを例えばデータ値
“C”として入力し、アドレス信号AD[3:0]はタ
イミングチャートの欄外に引き出して示したように、A
D[0]がロウレベルからハイレベルへ変化し、AD
[1]がハイレベルからロウレベルへ変化し、AD
[2]がロウレベル一定、AD[3]がロウレベルから
ハイレベルへ変化し、それぞれの変化タイミングは図中
の矢印で示したように、変化タイミングが左右方向に変
動すことを示す。
【0070】クロック信号CLKのロウレベルからハイ
レベルへの立ち上がりタイミング、例えば100nse
cから102nsecの2nsec期間がHoldスペ
ックで規定した期間である。
【0071】仮想イベントはHoldスペック期間が終
わるタイミング102nsecの時ワンショットパルス
として発生される。ライトイネーブル信号WENは、ハ
イレベルで書込みモードになりロウレベルで読み出しモ
ードになる。データ出力DOは、本発明の実施形態およ
び従来例を比較のために記載してある。
【0072】上述した図面を参照しながら検証フローに
沿って動作を説明する。先ずタイミング違反が起きない
ときの処理から説明すると、始めに時刻100nsec
でクロック信号CLKが立ち上がるので、図2のステッ
プA1ではデータ処理部3のイベント検出手段31によ
りイベントとして検出する。
【0073】ステップA201ではクロック信号CLK
が立ち上がりにより仮想イベントではないと判定される
ので、ステップA202に移行する。
【0074】ステップA202では、クロック端子の変
化であるためタイミングチェック対象端子であるとデー
タ処理部3で判定され、ステップA203へ移行する。
【0075】ステップA203でも当該イベントはクロ
ック変化とデータ処理部3で判定され、ステップA20
4でクロック変化時の時刻100nsecを動作定義部
2に記憶する。
【0076】ステップ205ではイベントスケジューリ
ング32が当該RAMのHoldスペックである2ns
ecを読み込み、ステップA206で仮想イベントのワ
ンショットパルスを2nsec後にスケジュールし出力
する。
【0077】このとき、Setupタイミング違反は発
生しないため、ステップA3、A4、A5、A6によ
り、出力端子45へ出力データDOとして確定値Din
=Cを出力する。
【0078】その後、図6では、AD[3:0]変化す
ると、データ処理部3においてステップA2により、タ
イミングチェック判定に入る。ただし、ここで、AD
[3]、AD[1]、AD[0]はHoldタイミング
違反として、前述したようにそれぞれ異なる時刻に変化
しているものとする。
【0079】ステップA201では、アドレス端子のH
oldタイミング違反の変化であるため、データ処理部
3のスケジューリング32において仮想イベントとは判
定されず、ステップA202へ移行する。
【0080】ステップA202では、データ処理部3の
スケジューリング32においてタイミングチェック対象
端子の変化であると判定され、ステップA203へ移行
する。ステップA203では、データ処理部3のスケジ
ューリング32においてクロック信号の変化イベントで
はないと判定され、ステップA207へ移行する。
【0081】ステップA207では、動作定義部2に記
憶されたクロック変化時刻とアドレス変化時刻との時間
差を算出する。この場合、Holdスペックである2n
sec内はアドレスを維持する必要があるにもかかわら
ずこの2nsec内でAD[3]、AD[1]、AD
[0]がそれぞれハイレベルまたはロウレベルに変化し
ているため、ステップA208では動作定義部2のスケ
ジューリング32によりHoldタイミング違反と判定
される。そのため、ステップA209においてタイミン
グ違反処理部33により違反メッセージが出力され、ス
テップA210において違反アドレス端子名が動作定義
部2のアドレス記憶部に記憶される。
【0082】次に、時刻102nsecで、ステップA
206を実行することによって仮想イベント発生部21
2によりスケジュールされた仮想イベントが発生する
と、ステップA211とステップA212において対象
アドレスが求められ、そのアドレスに対してのみXを書
込み、ステップA4でRAMの遅延ライブラリ22から
出力に対する遅延情報を得て、RAMの出力に対するス
ケジュールにこの遅延情報を与える。つまり、RAMの
遅延情報がRAMの出力のスケジュールに作用する。た
だし、ここでは、前述したように遅延を考慮しないとし
ているため“0”遅延である。ステップA5においてス
ケジュールした結果をステップA6において出力する。
【0083】時刻110nsecにおける2回目のクロ
ックの立ち上がりでは、WEN=0であるため、データ
書き込みは行わず、データ読み出しのみ実行される。こ
の時のアドレスは、タイミング違反に無関係なアドレス
であるため、出力端子45のデータ出力DOには予めR
AMに書込まれている確定値Eが出力される。
【0084】上述したように本発明の実施形態によれ
ば、従来、不定値Xを書込むというタイミング違反処理
を全アドレスに実行していたが、本手法により違反対象
アドレスにのみ違反処理を実行でき、処理が軽減される
ため、シミュレーション時間短縮およびシミュレーショ
ン回数の減少による回路検証時間の短縮の効果がある。
【0085】従来例と本発明の実施例によるシミュレー
ション実行時間の比較調査結果を示した図7を参照する
と、例えば4bit,512wordのRAMを10個
直列に接続した回路の場合は、従来例が3.21sec
であるのに対し本実施形態では2.99secである。
また、RAM2個を含む実使用の回路では、従来例が5
66.76secであるのに対し本実施形態では56
0.77secであることを示している。
【0086】なお、この比較結果で示す時間は、Ver
ilog−XL実行時で、Rusageコマンド結果の
リアルタイムを表す。この比較結果から、本発明により
処理時間が短縮されていることがわかる。
【0087】また、本実施形態の効果は、シミュレーシ
ョン回路に含まれるRAMの個数が多い程、より効果が
大きくなる。
【0088】さらに、タイミング違反対象アドレスにの
みタイミング違反処理を実行するため、タイミング違反
後、RAM部の後段回路への影響が少なくなり、同一シ
ミュレーションにおいて後段回路の検証まで続行でき
る。
【0089】従来は、タイミング違反時に全アドレスに
不定値Xを書き込んでいたため、RAM部の後段回路へ
必ず不定値Xが伝搬し、回路修正を施さなければRAM
部より後段の回路検証を実行できなかった。
【0090】しかし、本実施形態の方法によれば、タイ
ミング違反対象アドレスのみ不定値Xを書き込んでいる
ため、タイミング違反対象外のアドレスを読み出すこと
により後段回路の検証が可能となる。
【0091】したがって、本実施形態の方法を用いるこ
とによりシミュレーション回数を低減させ、全体の回路
検証時間を短縮できる。
【0092】1度のシミュレーションに48時間要する
回路での実施例と従来例の検証時間の差の調査結果を示
した図8を参照すると、1回目のシミュレーション後タ
イミング違反により1日目の回路修正を施し2回目のシ
ミュレーションを実行したところまでの所要時間は同等
であるが、従来例の場合はさらに回路修正を施さないと
後段回路のシミュレーションが実行できないので、その
時間差は約70時間も短縮された一例である。
【0093】すなわち、本実施形態では、RAM部でア
ドレスおよびクロック間にタイミング違反が発生した場
合でも、RAM部のタイミング違反対象外のアドレスか
らは確定値を読み出すことができるため、1回目のシミ
ュレーションでRAM部の後段回路で発生するタイミン
グ違反を検出できる。
【0094】これに対し、従来例では、RAM部から後
段回路へは不定値Xのみ伝搬するため、RAM部後段回
路でのタイミング違反を検出するには、RAM部でのタ
イミング違反を解消するために回路修正後、2回目のシ
ミュレーションによって検出可能である。
【0095】そのため、従来技術では、2回目のシミュ
レーション後、再び回路修正を施し、再度シミュレーシ
ョンを実行しなければならない。
【0096】したがって、このようなRAM部の後段で
1度だけタイミング違反が発生するような回路において
もシミュレーション回数および回路検証時間に大きな差
が生じるため、現在、ますます大規模化する回路設計に
おいては多大なる効果が期待できる。
【0097】次に第2の実施形態を説明する。本発明の
タイミング検証方法は、前述した同期式RAMのアドレ
スおよびクロック間のタイミングチェックに限らず、非
同期式RAMのタイミングチェックにも適用できる。
【0098】ただし、基本的に非同期式RAMにはクロ
ック端子は存在せず、図9に示した真理値表に従い動作
するので、アドレスおよびクロック間のタイミングスペ
ックは存在しない。
【0099】つまり、ライトイネーブル信号WENが
“1”の時は、アドレス変化は禁止され、指定されたア
ドレスのRAM領域にデータ入力Dinを書込み、デー
タ出力DOもデータDinとなる。ライトイネーブル信
号が“0”の時は、データ入力Dinに無関係に、指定
されたアドレスADnの内容を維持し、その維持データ
をデータの出力端子に出力する。
【0100】しかし、非同期RAMには、一般的にNo
changeと呼ばれるスペック期間が存在する。この
Nochangeのスペックを示した図10を参照する
と、ライトイネーブル信号の立ち上がりタイミングの前
のsetupスペック期間とライトイネーブル信号の立
ち下がりタイミングの後のHoldスペック期間との間
がNochange期間である。従って、このNoch
ange期間の前後でアドレスを切り替えなければタイ
ミング違反となる。
【0101】そのため、前述した図2および図3に示す
同期式RAMの処理フローにおいて、クロック信号に関
する処理部分をライトイネーブル信号に置き換えること
により、アドレス信号とライトイネーブル信号間のNo
change違反時の処理についても本発明を適用でき
る。
【0102】具体的に説明する。再び図2を参照する
と、第1ステップA1から第6ステップA6までは前述
の第1の実施形態と同じであるからここでの説明は省略
し、第2ステップA2において、RAMブロックのアド
レス端子とライトイネーブル端子においてHold S
pecのタイミング違反を検出した場合について説明す
る。
【0103】アドレスおよびライトイネーブルのHol
d違反の一例をタイミングチャートで示した図11を併
せて参照すると、この図に示したタイミングチャートで
は、第1の実施形態同様に、データ入力Dinを例えば
データ値“C”として入力し、アドレス信号AD[3:
0]はタイミングチャートの欄外に引き出して示したよ
うに、AD[0]がロウレベルからハイレベルへ変化
し、AD[1]がハイレベルからロウレベルへ変化し、
AD[2]がロウレベル一定、AD[3]がロウレベル
からハイレベルへ変化し、それぞれの変化タイミングは
図中の矢印で示したように、変化タイミングが左右方向
に変動すことを示す。
【0104】ライトイネーブル信号WENのハイレベル
からロウレベルへの立ち下がりタイミング、例えば10
0nsecから102nsecの2nsec期間がHo
ldスペックで規定した2nsecの期間である。
【0105】仮想イベントはHoldスペック期間が終
わるタイミング102nsecの時ワンショットパルス
として発生される。データ出力DOは、本発明の実施形
態および従来例を比較のために記載してある。
【0106】上述した図面を参照しながら検証フローに
沿って動作を説明する。先ずタイミング違反が起きない
ときの処理から説明すると、始めに時刻100nsec
でライトイネーブル信号WENが立ち下がるので、図2
のステップA1ではデータ処理部3のイベント検出手段
31によりイベントとして検出する。
【0107】ステップA201ではライトイネーブル信
号WENが立ち下がりにより仮想イベントではないと判
定されるので、ステップA202に移行する。
【0108】ステップA202では、ライトイネーブル
端子の電位変化であるためタイミングチェック対象端子
であるとデータ処理部3で判定され、ステップA203
へ移行する。
【0109】ステップA203でも当該イベントはライ
トイネーブル信号変化とデータ処理部3で判定され、ス
テップA204でライトイネーブル信号変化時の時刻1
00nsecを動作定義部2に記憶する。
【0110】ステップ205ではイベントスケジューリ
ング32が当該RAMのHoldスペックである2ns
ecを読み込み、ステップA206で仮想イベントのワ
ンショットパルスを2nsec後にスケジュールし出力
する。
【0111】このとき、Holdタイミング違反は発生
しないため、ステップA3、A4、A5、A6により、
出力端子45へ出力データDOとして確定値Din=C
を出力する。
【0112】その後、図11では、AD[3:0]の変
化タイミングが変化すると、データ処理部3においてス
テップA2により、タイミングチェック判定に入る。た
だし、ここで、AD[3]、AD[1]、AD[0]は
Holdタイミング違反として、前述したようにそれぞ
れ異なる時刻に変化しているものとする。
【0113】ステップA201では、アドレス端子のH
oldタイミング違反の変化であるため、データ処理部
3のスケジューリング32において仮想イベントとは判
定されず、ステップA202へ移行する。
【0114】ステップA202では、データ処理部3の
スケジューリング32においてタイミングチェック対象
端子の変化であると判定され、ステップA203へ移行
する。ステップA203では、データ処理部3のスケジ
ューリング32においてライトイネーブル信号の変化イ
ベントではないと判定され、ステップA207へ移行す
る。
【0115】ステップA207では、動作定義部2に記
憶されたライトイネーブル変化時刻とアドレス変化時刻
との時間差を算出する。この場合、Holdスペックで
ある2nsec内はアドレスを維持する必要があるにも
かかわらずこの2nsec内でAD[3]、AD
[1]、AD[0]がそれぞれハイレベルまたはロウレ
ベルに変化しているため、ステップA208では動作定
義部2のスケジューリング32によりHoldタイミン
グ違反と判定される。そのため、ステップA209にお
いてタイミング違反処理部33により違反メッセージが
出力され、ステップA210において違反アドレス端子
名が動作定義部2のアドレス記憶部に記憶される。
【0116】次に、時刻102nsecで、ステップA
206を実行することによって仮想イベント発生部21
2によりスケジュールされた仮想イベントが発生する
と、ステップA211とステップA212において対象
アドレスが求められ、そのアドレスに対してのみXを書
込み、ステップA4でRAMの遅延ライブラリ22から
出力に対する遅延情報を得て、RAMの出力に対するス
ケジュールにこの遅延情報を与える。ステップA5にお
いてスケジュールした結果をステップA6において出力
する。
【0117】時刻110nsecでは、WEN=0であ
るため、データ書き込みは行わず、データ読み出しのみ
実行される。この時のアドレスは、タイミング違反に無
関係なアドレスであるため、出力端子45のデータ出力
DOには予めRAMに書込まれている確定値Eが出力さ
れる。
【0118】したがって、非同期式RAMにおいてもア
ドレスとライトイネーブル間のタイミング違反発生時、
違反対象アドレスを正確に求めることができ、同期式R
AMの場合と同様の効果を得られる。
【0119】
【発明の効果】以上説明したように、本発明の半導体装
置内蔵RAMのタイミング検証方法は、タイミング検証
の対象回路に含まれるRAMブロックの入力端子でアド
レス信号とクロック信号とのタイミング違反を検出する
タイミングチェック処理を実行する場合であって、RA
Mブロックの入力端子がタイミングチェック対象端子で
あればクロック信号の変化イベント発生タイミングに合
わせて架空のイベント発生としての仮想イベントをスケ
ジュールし、端子毎に異なった時刻に変化するアドレス
端子の変化イベント発生タイミングとクロック信号の変
化イベント発生タイミングとの時間差を算出し、算出し
た時間差と予め定めたタイミングスペックとを比較し、
比較結果の値が前記タイミングスペックよりも小さけれ
ばタイミング違反として判定し、違反した違反アドレス
端子として記憶し、仮想イベントが発生すると、その時
のアドレス信号と記憶した違反アドレス端子からタイミ
ング違反に関わったタイミングチェック対象端子の対象
アドレスを求め、その対象アドレスにのみタイミング違
反処理を行うので、シミュレーション時間短縮およびシ
ミュレーション回数の減少による回路検証時間の短縮の
効果が見込まれる。
【0120】つまり、従来、不定値Xを書込むというタ
イミング違反処理を全アドレスに実行していたが、本発
明の方法により違反対象アドレスにのみ違反処理を実行
でき、処理が軽減されるからである。
【0121】また、本効果は、シミュレーション回路に
含まれるRAMの個数が多い程、より効果が大きくな
る。
【0122】さらに、違反対象アドレスにのみ違反処理
を実行するため、タイミング違反後、RAM部の後段回
路への影響が少なくなり、同一シミュレーションにおい
て後段回路の検証まで続行できる。
【0123】したがって、本発明の検証方法を用いるこ
とによりシミュレーション回数を減少させ、全体の回路
検証時間を短縮できる。
【0124】また、RAM部の後段で1度だけタイミン
グ違反が発生するような回路においてもシミュレーショ
ン回数および回路検証時間に大きな差が生じるため、現
在、ますます大規模化する回路設計においては多大なる
効果が期待できる。
【図面の簡単な説明】
【図1】本発明のタイミング検証方法を適用する論理シ
ミュレーション装置のシステム構成図である。
【図2】第1の実施形態におけるタイミング検証のフロ
ーチャートである。
【図3】第2ステップA2のタイミングチェック処理の
詳細なフローチャートである。
【図4】同期式1PORT RAM単体のシンボルを示
す図である。
【図5】同期式1PORT RAMの真理値表である。
【図6】本発明で解決できるアドレスおよびクロックの
Hold違反の一例を示すタイミングチャートである。
【図7】本発明および従来例のシミュレーション実行時
間を比較した図である。
【図8】本発明および従来例のタイミング検証実行結果
を比較した図である。
【図9】第2の実施形態における非同期式RAMの真理
値表を示す図である。
【図10】非同期式RAMにおけるタイミングスペック
を説明するためのタイミングチャートである。
【図11】アドレスおよびライトイネーブルのHold
違反の一例を示すタイミングチャートである。
【図12】(a)セットアップタイム説明用のタイミン
グチャートである。 (b)ホールドタイム説明用のタイミングチャートであ
る。
【図13】従来例におけるタイミング違反を説明するた
めのタイミングチャートである。
【図14】従来例のタイミング違反処理によるRAMセ
ルの不定値Xの書込み状態を示した図である。
【図15】従来例の動作説明用のフローチャートであ
る。
【図16】ステップA2の詳細なフローチャートであ
る。
【符号の説明】
1 入力部 2 動作定義部 3 データ処理部 4 出力部 11 ネットリスト 12 評価パターン 21 論理モデル 22 遅延ライブラリ 31 イベント手段 32 スケジューリング手段 33 タイミング違反処理手段 41 データ入力端子 42 アドレス端子 43 クロック端子 44 ライトイネーブル端子 45 出力端子 211 論理動作定義部 212 仮想イベント発生部 213 タイミング違反動作定義部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2G032 AA07 AC09 AD06 AE08 AG07 5B018 GA06 GA10 HA31 KA01 MA32 RA13 5B046 AA08 BA02 BA03 JA03 JA05

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 イベントドリブン方式を用いた論理シミ
    ュレーション装置に適用される半導体装置内蔵ランダム
    アクセスメモリ部のタイミング検証方法において、前記
    タイミング検証の対象回路に含まれるランダムアクセス
    メモリブロックの入力端子でアドレス信号とクロック信
    号とのタイミング違反を検出するタイミングチェック処
    理を実行する場合であって、前記入力端子がタイミング
    チェック対象端子であれば前記クロック信号の変化イベ
    ント発生タイミングに合わせて架空のイベント発生とし
    ての仮想イベントをスケジュールし、前記入力端子毎に
    異なった時刻に変化するアドレス端子の変化イベント発
    生タイミングと前記クロック信号の変化イベント発生タ
    イミングとの時間差を算出し、算出した時間差と予め定
    めたタイミングスペックとを比較し、比較結果の値が前
    記タイミングスペックよりも小さければ前記タイミング
    違反として判定するとともに違反アドレス端子として記
    憶し、前記仮想イベントが発生すると、その時のアドレ
    ス信号と記憶した前記違反アドレス端子から前記タイミ
    ング違反に関わった前記タイミングチェック対象端子の
    対象アドレスを求め、その対象アドレスにのみタイミン
    グ違反処理を行うことを特徴とする半導体装置内蔵ラン
    ダムアクセスメモリ部のタイミング検証方法。
  2. 【請求項2】 前記違反対象アドレスにのみ違反処理を
    実行することで、前記タイミング違反後、ランダムアク
    セスメモリ部の後段回路への影響を抑制し、同一シミュ
    レーションにおいて前記後段回路まで検証を続行する請
    求項1記載のの半導体装置内蔵のランダムアクセスメモ
    リ部のタイミング検証方法。
  3. 【請求項3】 前記タイミング違反時に、全アドレスの
    うち違反対象アドレスにのみ不定値Xを書き込むことに
    より、前記後段回路の回路検証では前記タイミング違反
    を解消するための回路修正を施すこと無く不定値Xが書
    き込まれていない残りのアドレスのみを対象に回路検証
    を実行する請求項1記載の半導体装置内蔵のランダムア
    クセスメモリ部のタイミング検証方法。
  4. 【請求項4】 前記タイミング違反時に、全アドレスの
    うち違反対象アドレスにのみ不定値Xを書き込み、残り
    のアドレスのみを対象に回路検証を実行することにより
    シミュレーション回数を抑制する請求項3記載のの半導
    体装置内蔵のランダムアクセスメモリ部のタイミング検
    証方法。
  5. 【請求項5】 前記ランダムアクセスメモリ部でアドレ
    ス信号およびクロック信号間に前記タイミング違反が発
    生した場合でも、前記ランダムアクセスメモリ部の違反
    対象外のアドレスには不定値Xを書き込まないことで違
    反対象外のアドレスからは確定値を読み出すことによ
    り、1回目のシミュレーションで前記ランダムアクセス
    メモリ部の前記後段回路で発生する前記タイミング違反
    も検出する請求項3記載の半導体装置内蔵のランダムア
    クセスメモリ部のタイミング検証方法。
  6. 【請求項6】 前記タイミングチェック処理は、前記タ
    イミング検証の対象回路のネットリストおよび評価パタ
    ーンを記憶する入力手段と、各イベントに対する処理を
    制御するデータ処理手段と、前記ネットリスト対象の論
    理モデル群の動作を予め定義したデータが記憶される論
    理モデル記憶手段および前記論理モデル群の遅延情報と
    タイミングスペックを定義した遅延ライブラリからなる
    動作定義記憶手段と、前記データ処理手段からのシミュ
    レーション結果を出力する出力手段とにより、前記対象
    回路内の前記ランダムアクセスメモリ・ブロックにおけ
    る入力信号および内部ノード等のイベントを検出する第
    1ステップと、この第1ステップで検出したイベントが
    タイミング違反であるかを判定し、タイミング違反を検
    出しない場合は、何も処理せずに次ステップに移行し、
    タイミング違反を検出しない場合は前記タイミング違反
    処理をする第2ステップと、 予め定義された動作記述に基づき、前記対象回路内部の
    状態および前記対象回路の出力変化をスケジュールする
    第3ステップと、 この第3ステップおよび前記第2ステップの前記出力変
    化に対して予め定義された遅延情報を与える第4ステッ
    プと、 この第4ステップで処理された出力結果と前記第2ステ
    ップで得た前記遅延情報からタイミングチェック結果出
    力をスケジュールする第5ステップと、この第5ステッ
    プのスケジューリングに従い前記第3ステップおよび前
    記第4ステップから得た情報を合わせてシミュレーショ
    ン結果出力を行う第6ステップと、を備える請求項1記
    載の半導体装置内蔵のランダムアクセスメモリ部のタイ
    ミング検証方法。
  7. 【請求項7】 前記タイミング違反処理は、前記タイミ
    ング違反の判定により前記ランダムアクセスメモリ・ブ
    ロックの前記アドレス端子と前記クロック端子において
    前記タイミング違反を検出した場合は、検出したイベン
    トがスケジュールされた前記仮想イベントであるかを判
    定する第7ステップと、前記仮想イベントではない場合
    は、そのイベントが前記タイミングチェック対象端子で
    あるかを判定する第8ステップと、前記タイミングチェ
    ック対象端子ではない場合は、第3前記ステップへ移行
    する第9ステップと、 前記タイミングチェック対象端子である場合は、前記ク
    ロック信号の変化イベントであるかを判定する第10ス
    テップと、前記クロック信号の変化イベントであれば、
    前記クロック信号の変化時刻を記憶する第11ステップ
    と、前記アドレス端子と前記クロック端子に対する前記
    タイミング違反の判定基準となるスペック値を読み込む
    第12ステップと、前記スペック値の読み込み後に前記
    仮想イベントをスケジュールする第13ステップと、前
    記クロック信号の変化イベントではないと判定された場
    合は、前記アドレス端子の変化時刻と第11ステップで
    記憶した前記クロック端子の変化時刻との時間差を算出
    する第14ステップと、前記クロック信号の変化イベン
    ト時に前記第12ステップで読み込んだ前記タイミング
    違反の判定基準となるスペック値と前記第14ステップ
    で求めた時間差を比較し、前記タイミング違反かどうか
    判定し、前記タイミング違反と判定されない場合は前記
    第3ステップへ移行し、前記タイミング違反と判定され
    た場合は、次の第16ステップへ移行する第15ステッ
    プと、前記タイミング違反のメッセージを出力する第1
    6ステップと、前記タイミング違反を起こした前記アド
    レス端子を記憶し、前記第1ステップへ移行する第16
    テップと、前記第7ステップにおいて前記仮想イベント
    と判定された場合は、記憶された違反アドレス端子の信
    号値を不定値Xに置き換える第17ステップと、前記第
    17ステップにおいて前記違反アドレス端子の信号値を
    不定値Xに置き換えたアドレスから対象アドレスを求め
    る第18ステップと、前記不定値Xの信号値に論理レベ
    ルの“0”、“1”を順番に当てはめることにより、前
    記不定値Xに置き換えた端子数n(nは整数)を指数と
    する2n 分の対象アドレスを求め、その求めた対象アド
    レスに前記不定値Xを書き込み、前記第4ステップへジ
    ャンプする第19ステップと、を有する請求項6記載の
    半導体装置内蔵のランダムアクセスメモリ部のタイミン
    グ検証方法。
  8. 【請求項8】 イベントドリブン方式を用いた論理シミ
    ュレーションが適用される半導体装置内蔵ランダムアク
    セスメモリ部のタイミング検証方法において、前記タイ
    ミング検証の対象回路に含まれる非同期式のランダムア
    クセスメモリブロックの入力端子でライトイネーブル信
    号とアドレス信号とのタイミング違反であるノーチェン
    ジスペック違反を検出するタイミングチェック処理を実
    行する場合であって、前記端子がタイミングチェック対
    象端子であれば前記ライトイネーブル信号の変化イベン
    ト発生タイミングに合わせて架空のイベント発生として
    の仮想イベントをスケジュールし、前記端子毎に異なっ
    た時刻に変化するアドレス端子の変化イベント発生タイ
    ミングと前記ライトイネーブル信号の変化イベント発生
    タイミングとの時間差を算出し、算出した時間差と予め
    定めたタイミングスペックとを比較し、比較結果の値が
    前記タイミングスペックよりも小さければ前記ノーチェ
    ンジスペック違反として判定し、違反した違反アドレス
    端子として記憶し、前記仮想イベントが発生すると、そ
    の時のアドレス信号と記憶した前記違反アドレス端子か
    ら前記ノーチェンジスペック違反に関わった前記タイミ
    ングチェック対象端子の対象アドレスを求め、その対象
    アドレスにのみタイミング違反処理を行うことを特徴と
    する半導体装置内蔵ランダムアクセスメモリ部のタイミ
    ング検証方法。
  9. 【請求項9】 前記クロック信号に関する処理部分をラ
    イトイネーブル信号に置き換えることにより、前記タイ
    ミング違反に代えて、非同期式のランダムアクセスメモ
    リブロックにおける前記アドレス信号と前記ライトイネ
    ーブル信号間のタイミング違反であるノーチェンジスペ
    ック違反を適用し、前記ノーチェンジスペック違反時の
    処理を実行する請求項2,3,4,5,6または7記載
    の半導体装置内蔵のランダムアクセスメモリ部のタイミ
    ング検証方法。
  10. 【請求項10】 半導体装置内蔵ランダムアクセスメモ
    リ部のタイミング検証をするイベントドリブン方式の論
    理シミュレーション装置において、設計した前記半導体
    装置の回路構成を示すネットリスト記憶部と前記半導体
    装置の評価パターン記憶部とからなる入力手段と、イベ
    ント検出時の前記検証動作を予め定義した論理動作定義
    部と前記イベントが予め定めたスペックに対しタイミン
    グ違反をしていれば仮想イベントを発生させる仮想イベ
    ント発生部と前記タイミング違反時の前記検証動作を予
    め定義したタイミング違反動作定義部とをそれぞれ記憶
    する論理モデル記憶部並びに前記論理モデルの遅延情報
    およびタイミングスペック値を定義した遅延ライブラリ
    で構成する動作定義記憶手段と、前記入力部からの評価
    パターンにもとづき入力信号の変化を検出するイベント
    検出部とこのイベント検出部で検出したイベントがタイ
    ミングチェック対象端子でありクロック信号が変化して
    いればその変化時刻を記憶するとともに前記スペック値
    を読み込みこのスペック値の期間経過後に前記仮想イベ
    ント発生部で定義された動作に基づき前記仮想イベント
    発生をスケジュールするスケジューリング手段と前記タ
    イミング違反であれば違反メッセージを出力し違反端子
    を記憶させるための制御を実行するタイミング違反処理
    手段とから構成するデータ処理手段と、このデータ処理
    部の結果をファイルへ出力する出力部とから構成するこ
    とを特徴とする論理シミュレーション装置。
JP23941599A 1999-08-26 1999-08-26 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置 Pending JP2001067385A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23941599A JP2001067385A (ja) 1999-08-26 1999-08-26 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23941599A JP2001067385A (ja) 1999-08-26 1999-08-26 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置

Publications (1)

Publication Number Publication Date
JP2001067385A true JP2001067385A (ja) 2001-03-16

Family

ID=17044443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23941599A Pending JP2001067385A (ja) 1999-08-26 1999-08-26 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置

Country Status (1)

Country Link
JP (1) JP2001067385A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008209210A (ja) * 2007-02-26 2008-09-11 Fujitsu Ltd テストパターン自動生成方法およびテストパターン自動生成プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008209210A (ja) * 2007-02-26 2008-09-11 Fujitsu Ltd テストパターン自動生成方法およびテストパターン自動生成プログラム

Similar Documents

Publication Publication Date Title
US8122398B2 (en) Conversion of circuit description to an abstract model of the circuit
CN106104698B (zh) 用于产生具有可编程延迟的动态随机存取存储器(dram)命令的存储器物理层接口逻辑
US9772676B2 (en) Adaptive voltage scaling based on stage transitions or ring oscillator revolutions
US20050066297A1 (en) System and method for correlated process pessimism removal for static timing analysis
US20150370955A1 (en) Method for adjusting a timing derate for static timing analysis
US9892220B2 (en) Method and apparatus for adjusting a timing derate for static timing analysis
US7251794B2 (en) Simulation testing of digital logic circuit designs
US7865795B2 (en) Methods and apparatuses for generating a random sequence of commands for a semiconductor device
US20090055781A1 (en) Circuit design device, circuit design program, and circuit design method
US20210224448A1 (en) Circuit design assistance system and computer readable medium
US7840924B2 (en) Apparatus, method, and program for verifying logic circuit operating with multiple clock signals
US20080300806A1 (en) Power consumption calculating method
US7930609B2 (en) Apparatus and method for verifying target circuit
US6505149B1 (en) Method and system for verifying a source-synchronous communication interface of a device
US7499831B2 (en) Timing closure monitoring circuit and method
WO2010134264A1 (ja) 半導体集積回路の設計装置、そのデータ処理方法、およびその制御プログラム
JP2001067385A (ja) 半導体装置内蔵ランダムアクセスメモリ部のタイミング検証方法および検証用論理シミュレーション装置
JP2005141434A (ja) 集積回路のタイミング検証システム、タイミング検証プログラム
US7225419B2 (en) Methods for modeling latch transparency
US7277840B2 (en) Method for detecting bus contention from RTL description
JP2008107872A (ja) 半導体集積回路
US7480607B2 (en) Circuit design verification
CN117634385B (zh) 在fpga上仿真ic设计的方法、系统及存储介质
US10929591B2 (en) Techniques for pre-silicon testing integrated circuit designs that accommodate power-supply noise and adaptive-clock aware timing
JP2009187119A (ja) 検証支援プログラム、検証支援装置、および検証支援方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031014