JPH08314994A - 論理シミュレーション方法および論理ライブラリ - Google Patents
論理シミュレーション方法および論理ライブラリInfo
- Publication number
- JPH08314994A JPH08314994A JP7118185A JP11818595A JPH08314994A JP H08314994 A JPH08314994 A JP H08314994A JP 7118185 A JP7118185 A JP 7118185A JP 11818595 A JP11818595 A JP 11818595A JP H08314994 A JPH08314994 A JP H08314994A
- Authority
- JP
- Japan
- Prior art keywords
- time
- flip
- flop
- delay
- delay time
- 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
Links
Abstract
(57)【要約】
【目的】 セットアップ時間あるいはホールド時間が負
値を取るフリップフロップについて、無駄な設計マージ
ンを加えることなく正確なシミュレーション可能な論理
シミュレーション方法と論理シミュレーションに使用す
る論理ライブラリを提供する。 【構成】 セットアップ時間が負値となるフリップフロ
ップのクロック入力線に論理シミュレーション時に遅延
素子を挿入する。さらに、フリップフロップの遅延時
間、セットアップ時間、ホールド時間について、遅延素
子による遅れ時間を補正する。この結果、無駄な設計マ
ージンを加える事なくセットアップ時間を正値にして正
確な論理シミュレーションが実行可能になる。
値を取るフリップフロップについて、無駄な設計マージ
ンを加えることなく正確なシミュレーション可能な論理
シミュレーション方法と論理シミュレーションに使用す
る論理ライブラリを提供する。 【構成】 セットアップ時間が負値となるフリップフロ
ップのクロック入力線に論理シミュレーション時に遅延
素子を挿入する。さらに、フリップフロップの遅延時
間、セットアップ時間、ホールド時間について、遅延素
子による遅れ時間を補正する。この結果、無駄な設計マ
ージンを加える事なくセットアップ時間を正値にして正
確な論理シミュレーションが実行可能になる。
Description
【0001】
【産業上の利用分野】本発明は、半導体集積回路の論理
シミュレーションに関し、特にCMOS回路の伝達遅延時間
の設計違反を検出するタイミング検証のための論理シミ
ュレーション方法と、クロック信号に同期してデータを
取り込むフリップフロップの論理ライブラリに関する。
シミュレーションに関し、特にCMOS回路の伝達遅延時間
の設計違反を検出するタイミング検証のための論理シミ
ュレーション方法と、クロック信号に同期してデータを
取り込むフリップフロップの論理ライブラリに関する。
【0002】
【従来の技術】近年、半導体集積回路の高速化および低
電圧化により、論理シミュレーション技術の高精度化が
求められている。論理シミュレーションでは、CMOS回路
の電気信号の伝達遅延時間を算出し、信号が設計者の想
定した時間で伝達して回路が動作するかを検証する。た
とえば、同期回路ではクロック信号に同期してデータが
フリップフロップで取り込まれてラッチされる。この
時、データが遅延して完全にデータがラッチされるまで
にクロック信号が変化した場合、セットアップ時間のエ
ラーとなり間違ったデータがラッチされる。また、逆に
データ信号の変化が早過ぎて完全にラッチされるまでに
データ信号が変化した場合、ホールド時間のエラーとな
り、同様に間違ったデータがラッチされる。このため、
論理シミュレーションで信号のセットアップ時間および
ホールド時間をチェックして、回路が所望の動作を行う
かを検証することは極めて重要な設計工程の一つであ
る。
電圧化により、論理シミュレーション技術の高精度化が
求められている。論理シミュレーションでは、CMOS回路
の電気信号の伝達遅延時間を算出し、信号が設計者の想
定した時間で伝達して回路が動作するかを検証する。た
とえば、同期回路ではクロック信号に同期してデータが
フリップフロップで取り込まれてラッチされる。この
時、データが遅延して完全にデータがラッチされるまで
にクロック信号が変化した場合、セットアップ時間のエ
ラーとなり間違ったデータがラッチされる。また、逆に
データ信号の変化が早過ぎて完全にラッチされるまでに
データ信号が変化した場合、ホールド時間のエラーとな
り、同様に間違ったデータがラッチされる。このため、
論理シミュレーションで信号のセットアップ時間および
ホールド時間をチェックして、回路が所望の動作を行う
かを検証することは極めて重要な設計工程の一つであ
る。
【0003】上記した従来の論理シミュレーション方法
の一例としては、特開昭62−15664および特開昭
62−15665がある。特開昭62−15664で
は、論理シミュレーションする際に、データ信号が変化
する時に変化した素子をタイムホイールに接続する。そ
して、データ信号の変化の直後にクロック信号の変化が
あるかどうか監視する。この時、データ信号の変化後、
一定時間内にクロック信号が変化した場合、セットアッ
プ時間エラーを知らせる。また、特開昭62−1566
5では、クロック信号が変化する時に変化した素子をタ
イムホイールに接続する。そして、クロック信号の変化
の直後にデータ信号が変化するかどうか監視する。この
時、クロック信号の変化後、一定時間内にデータ信号が
変化した場合、ホールド時間エラーを知らせる。
の一例としては、特開昭62−15664および特開昭
62−15665がある。特開昭62−15664で
は、論理シミュレーションする際に、データ信号が変化
する時に変化した素子をタイムホイールに接続する。そ
して、データ信号の変化の直後にクロック信号の変化が
あるかどうか監視する。この時、データ信号の変化後、
一定時間内にクロック信号が変化した場合、セットアッ
プ時間エラーを知らせる。また、特開昭62−1566
5では、クロック信号が変化する時に変化した素子をタ
イムホイールに接続する。そして、クロック信号の変化
の直後にデータ信号が変化するかどうか監視する。この
時、クロック信号の変化後、一定時間内にデータ信号が
変化した場合、ホールド時間エラーを知らせる。
【0004】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、セットアップ時間エラーの検出には、デ
ータ信号変化後のクロック信号を監視する。フリップフ
ロップのセットアップ時間が負である場合、すなわちデ
ータ信号がクロック信号の後で変化しても変化後のデー
タが正常にラッチされる特性を持つフリップフロップで
は、セットアップ時間の検証ができない。そこで、無駄
な設計マージンを加えて便宜的にセットアップ時間を正
にして、エラーの検出ができるようにしていた。そのた
め、クロック信号の変化後にデータ信号が変化した場
合、変化後のデータ信号が正常にラッチされているにも
かかわらずエラー出力されるという問題点がある。
うな構成では、セットアップ時間エラーの検出には、デ
ータ信号変化後のクロック信号を監視する。フリップフ
ロップのセットアップ時間が負である場合、すなわちデ
ータ信号がクロック信号の後で変化しても変化後のデー
タが正常にラッチされる特性を持つフリップフロップで
は、セットアップ時間の検証ができない。そこで、無駄
な設計マージンを加えて便宜的にセットアップ時間を正
にして、エラーの検出ができるようにしていた。そのた
め、クロック信号の変化後にデータ信号が変化した場
合、変化後のデータ信号が正常にラッチされているにも
かかわらずエラー出力されるという問題点がある。
【0005】また、ホールド時間エラーの検出には、ク
ロック信号変化後のデータ信号を監視する。フリップフ
ロップのホールド時間が負である場合、すなわちデータ
信号がクロック信号の前で変化しても変化前のデータが
正常にラッチされる特性を持つフリップフロップでは、
ホールド時間の検証ができない。そこで、無駄な設計マ
ージンを加えて便宜的にホールド時間を正にして、エラ
ーの検出ができるようにしていた。そのため、クロック
信号の変化前にデータ信号が変化した場合、変化前のデ
ータ信号が正常にラッチされているにもかかわらずエラ
ー出力されるという問題点がある。
ロック信号変化後のデータ信号を監視する。フリップフ
ロップのホールド時間が負である場合、すなわちデータ
信号がクロック信号の前で変化しても変化前のデータが
正常にラッチされる特性を持つフリップフロップでは、
ホールド時間の検証ができない。そこで、無駄な設計マ
ージンを加えて便宜的にホールド時間を正にして、エラ
ーの検出ができるようにしていた。そのため、クロック
信号の変化前にデータ信号が変化した場合、変化前のデ
ータ信号が正常にラッチされているにもかかわらずエラ
ー出力されるという問題点がある。
【0006】そこで、本発明は論理シミュレーション時
にフリップフロップ内部の遅延時間を変更するという点
に新たに着目して、論理シミュレーションする時だけに
データ信号あるいはクロック信号に遅延素子を挿入して
信号の変化を遅らせると同時にフリップフロップ内部の
遅延時間を短縮することで、フリップフロップのセット
アップ時間とホールド時間を正値に変更して得られたも
のである。
にフリップフロップ内部の遅延時間を変更するという点
に新たに着目して、論理シミュレーションする時だけに
データ信号あるいはクロック信号に遅延素子を挿入して
信号の変化を遅らせると同時にフリップフロップ内部の
遅延時間を短縮することで、フリップフロップのセット
アップ時間とホールド時間を正値に変更して得られたも
のである。
【0007】従って本発明は上記問題点に鑑み、その目
的は、セットアップ時間あるいはホールド時間が負値を
取るフリップフロップについて、エラー出力する事なく
正確なシミュレーション可能な論理シミュレーション方
法と論理シミュレーションに使用する論理ライブラリを
提供することにある。
的は、セットアップ時間あるいはホールド時間が負値を
取るフリップフロップについて、エラー出力する事なく
正確なシミュレーション可能な論理シミュレーション方
法と論理シミュレーションに使用する論理ライブラリを
提供することにある。
【0008】
【課題を解決するための手段】上記問題点を解決するた
めに本発明の論理シミュレーション方法は、負値のセッ
トアップ時間を持つフリップフロップを検出する手順
と、前記セットアップ時間の絶対値より大きい第1の遅
延時間を算出する手順と、前記第1の遅延時間だけ遅ら
せる遅延素子を前記フリップフロップのクロック端子の
直前に挿入する手順と、前記クロック端子から前記フリ
ップフロップの出力端子までの第2の遅延時間を前記第
2の遅延時間から前記第1の遅延時間を引いた値に変更
する手順と、前記セットアップ時間と前記第1の遅延時
間を加えた値を前記フリップフロップのセットアップ時
間とする手順を備えたものである。
めに本発明の論理シミュレーション方法は、負値のセッ
トアップ時間を持つフリップフロップを検出する手順
と、前記セットアップ時間の絶対値より大きい第1の遅
延時間を算出する手順と、前記第1の遅延時間だけ遅ら
せる遅延素子を前記フリップフロップのクロック端子の
直前に挿入する手順と、前記クロック端子から前記フリ
ップフロップの出力端子までの第2の遅延時間を前記第
2の遅延時間から前記第1の遅延時間を引いた値に変更
する手順と、前記セットアップ時間と前記第1の遅延時
間を加えた値を前記フリップフロップのセットアップ時
間とする手順を備えたものである。
【0009】また、本発明の論理シミュレーション方法
は、負値のホールド時間を持つフリップフロップを検出
する手順と、前記ホールド時間の絶対値より大きい第3
の遅延時間を算出する手順と、前記第3の遅延時間だけ
遅らせる遅延素子を前記フリップフロップのデータ入力
端子の直前に挿入する手順と、前記ホールド時間と前記
第3の遅延時間を加えた値を前記フリップフロップのホ
ールド時間とする手順を備えたものである。
は、負値のホールド時間を持つフリップフロップを検出
する手順と、前記ホールド時間の絶対値より大きい第3
の遅延時間を算出する手順と、前記第3の遅延時間だけ
遅らせる遅延素子を前記フリップフロップのデータ入力
端子の直前に挿入する手順と、前記ホールド時間と前記
第3の遅延時間を加えた値を前記フリップフロップのホ
ールド時間とする手順を備えたものである。
【0010】また、本発明の論理論理ライブラリは、負
値のセットアップ時間の絶対値より大きい値である第4
の遅延時間だけ遅らせる遅延素子と、前記遅延素子が接
続された前記フリップフロップのクロック端子と、前記
第4の遅延時間を引いた値を入力された前記クロック端
子から前記フリップフロップの出力端子までの第5の遅
延時間と、前記第4の遅延時間を加えられたセットアッ
プ時間を備えたものである。
値のセットアップ時間の絶対値より大きい値である第4
の遅延時間だけ遅らせる遅延素子と、前記遅延素子が接
続された前記フリップフロップのクロック端子と、前記
第4の遅延時間を引いた値を入力された前記クロック端
子から前記フリップフロップの出力端子までの第5の遅
延時間と、前記第4の遅延時間を加えられたセットアッ
プ時間を備えたものである。
【0011】また、本発明の論理論理ライブラリは、負
値のホールド時間の絶対値より大きい第6の遅延時間だ
け遅らせる遅延素子と、前記遅延素子が接続された前記
フリップフロップのデータ端子と、前記第6の遅延時間
を加えられたホールド時間を備えたものである。
値のホールド時間の絶対値より大きい第6の遅延時間だ
け遅らせる遅延素子と、前記遅延素子が接続された前記
フリップフロップのデータ端子と、前記第6の遅延時間
を加えられたホールド時間を備えたものである。
【0012】
【作用】本発明は上記した構成によって、負値のセット
アップ時間を取るフリップフロップについて、論理シミ
ュレーションする時に遅延素子をクロック信号に挿入す
ると同時にクロック端子から出力端子までの遅延時間を
短縮することで、フリップフロップからの出力信号を遅
らせる事なく同じ論理動作を実現して、セットアップ時
間を正値として正確な論理シミュレーションが可能とな
り、タイミング調整の余分のゲートによる回路増大を避
けることができる。さらに、上記した構成のフリップフ
ロップの論理ライブラリを利用することで、論理シミュ
レーションの回路図を容易に変更でき、正確な論理シミ
ュレーションが実行できる。
アップ時間を取るフリップフロップについて、論理シミ
ュレーションする時に遅延素子をクロック信号に挿入す
ると同時にクロック端子から出力端子までの遅延時間を
短縮することで、フリップフロップからの出力信号を遅
らせる事なく同じ論理動作を実現して、セットアップ時
間を正値として正確な論理シミュレーションが可能とな
り、タイミング調整の余分のゲートによる回路増大を避
けることができる。さらに、上記した構成のフリップフ
ロップの論理ライブラリを利用することで、論理シミュ
レーションの回路図を容易に変更でき、正確な論理シミ
ュレーションが実行できる。
【0013】また、負値のホールド時間を取るフリップ
フロップについて、論理シミュレーションする時に遅延
素子をデータ信号に挿入してホールド時間を正値とする
ことで、同じ論理動作を実現して正確な論理シミュレー
ションが実行でき、タイミング調整の余分のゲートによ
る回路増大を避けることができる。さらに、上記した構
成のフリップフロップの論理ライブラリを利用すること
で、論理シミュレーションの回路図を容易に変更でき、
正確な論理シミュレーションが実行できる。
フロップについて、論理シミュレーションする時に遅延
素子をデータ信号に挿入してホールド時間を正値とする
ことで、同じ論理動作を実現して正確な論理シミュレー
ションが実行でき、タイミング調整の余分のゲートによ
る回路増大を避けることができる。さらに、上記した構
成のフリップフロップの論理ライブラリを利用すること
で、論理シミュレーションの回路図を容易に変更でき、
正確な論理シミュレーションが実行できる。
【0014】
【実施例】以下本発明の一実施例の論理シミュレーショ
ン方法について、図面を参照しながら説明する。
ン方法について、図面を参照しながら説明する。
【0015】(実施例1)図1は本発明の第1の実施例
における論理シミュレーション方法のアルゴリズム図で
ある。図1において、50、51、52、53、54、
55、56は処理である。また、図2は第1の実施例に
おける回路変換例である。図2において、10、13は
フリップフロップである。11、12、14は論理素子
である。15はデータ信号である。16、17はクロッ
ク信号である。18は遅延素子である。図3は、第1の
実施例における変換された信号を示すタイミング図であ
る。
における論理シミュレーション方法のアルゴリズム図で
ある。図1において、50、51、52、53、54、
55、56は処理である。また、図2は第1の実施例に
おける回路変換例である。図2において、10、13は
フリップフロップである。11、12、14は論理素子
である。15はデータ信号である。16、17はクロッ
ク信号である。18は遅延素子である。図3は、第1の
実施例における変換された信号を示すタイミング図であ
る。
【0016】以上のように構成された論理シミュレーシ
ョン方法について、以下図1、図2及び図3を用いてそ
の動作を説明する。
ョン方法について、以下図1、図2及び図3を用いてそ
の動作を説明する。
【0017】まず図3は、負値となるセットアップ時間
を示している。フリップフロップ13に入力されるクロ
ック信号16が図3のクロック波形Aで、データ信号1
5がデータ波形Bである場合、クロック信号16の変化
後データ信号15が変化している。この時、フリップフ
ロップ13はデータ信号15の変化後のデータを正常に
取り込んでいるとする。この場合、フリップフロップ1
3のセットアップ時間は負値となる。
を示している。フリップフロップ13に入力されるクロ
ック信号16が図3のクロック波形Aで、データ信号1
5がデータ波形Bである場合、クロック信号16の変化
後データ信号15が変化している。この時、フリップフ
ロップ13はデータ信号15の変化後のデータを正常に
取り込んでいるとする。この場合、フリップフロップ1
3のセットアップ時間は負値となる。
【0018】このため、本実施例では、処理50で入力
された回路図の中で、処理51で負のセットアップ時間
を持つフリップフロップ13を検出する。処理52で
は、データ信号15の変化時間t1とクロック信号16の
変化時間t0の差を求めて、セットアップ時間を正にする
ためにクロック信号16を遅らせる時間Δt(=t1−t0
+ユニット遅延)を求める。ユニット遅延はシミュレー
タを正常に動作させるための最小遅延時間である。その
後、処理53では、Δtだけクロック信号を遅らせる遅
延素子18をフリップフロップ13のクロック端子の直
前に挿入して回路を変更する。この結果、クロック信号
16からΔtだけ遅れたクロック信号17が、図3に示
す遅延したクロック波形Cとなりフリップフロップ13
に供給される。さらに、処理54では、遅延素子18の
挿入でフリップフロップ13からの出力信号が遅れない
ように、フリップフロップ13のクロック端子から出力
端子までの遅延時間をΔtだけ短くする。この結果、処
理55でフリップフロップ13のセットアップ時間が正
値になり、処理55での論理シミュレーションが可能に
なる。
された回路図の中で、処理51で負のセットアップ時間
を持つフリップフロップ13を検出する。処理52で
は、データ信号15の変化時間t1とクロック信号16の
変化時間t0の差を求めて、セットアップ時間を正にする
ためにクロック信号16を遅らせる時間Δt(=t1−t0
+ユニット遅延)を求める。ユニット遅延はシミュレー
タを正常に動作させるための最小遅延時間である。その
後、処理53では、Δtだけクロック信号を遅らせる遅
延素子18をフリップフロップ13のクロック端子の直
前に挿入して回路を変更する。この結果、クロック信号
16からΔtだけ遅れたクロック信号17が、図3に示
す遅延したクロック波形Cとなりフリップフロップ13
に供給される。さらに、処理54では、遅延素子18の
挿入でフリップフロップ13からの出力信号が遅れない
ように、フリップフロップ13のクロック端子から出力
端子までの遅延時間をΔtだけ短くする。この結果、処
理55でフリップフロップ13のセットアップ時間が正
値になり、処理55での論理シミュレーションが可能に
なる。
【0019】以上のように本実施例によれば、負値のセ
ットアップ時間を持つフリップフロップを検出する手順
と、前記セットアップ時間の絶対値より大きい第1の遅
延時間を算出する手順と、前記第1の遅延時間だけ遅ら
せる遅延素子を前記フリップフロップのクロック端子の
直前に挿入する手順と、前記クロック端子から前記フリ
ップフロップの出力端子までの第2の遅延時間を前記第
2の遅延時間から前記第1の遅延時間を引いた値に変更
する手順と、前記セットアップ時間と前記第1の遅延時
間を加えた値を前記フリップフロップのセットアップ時
間とする手順を設けることにより、出力信号を遅らせる
事なくセットアップ時間を正値として正確な論理シミュ
レーションが可能となり、タイミング調整の余分のゲー
トによる回路増大を避けることができる。
ットアップ時間を持つフリップフロップを検出する手順
と、前記セットアップ時間の絶対値より大きい第1の遅
延時間を算出する手順と、前記第1の遅延時間だけ遅ら
せる遅延素子を前記フリップフロップのクロック端子の
直前に挿入する手順と、前記クロック端子から前記フリ
ップフロップの出力端子までの第2の遅延時間を前記第
2の遅延時間から前記第1の遅延時間を引いた値に変更
する手順と、前記セットアップ時間と前記第1の遅延時
間を加えた値を前記フリップフロップのセットアップ時
間とする手順を設けることにより、出力信号を遅らせる
事なくセットアップ時間を正値として正確な論理シミュ
レーションが可能となり、タイミング調整の余分のゲー
トによる回路増大を避けることができる。
【0020】(実施例2)図4は本発明の第2の実施例
における論理シミュレーション方法のアルゴリズム図で
ある。図4において、50、61、62、63、64、
55は処理である。また、図5は第2の実施例における
回路変換例である。図5において、20、21はフリッ
プフロップである。22は論理素子である。24、25
はデータ信号である。23はクロック信号である。26
は遅延素子である。図6は、第2の実施例における変換
された信号を示すタイミング図である。
における論理シミュレーション方法のアルゴリズム図で
ある。図4において、50、61、62、63、64、
55は処理である。また、図5は第2の実施例における
回路変換例である。図5において、20、21はフリッ
プフロップである。22は論理素子である。24、25
はデータ信号である。23はクロック信号である。26
は遅延素子である。図6は、第2の実施例における変換
された信号を示すタイミング図である。
【0021】以上のように構成された論理シミュレーシ
ョン方法について、以下図4、図5及び図6を用いてそ
の動作を説明する。
ョン方法について、以下図4、図5及び図6を用いてそ
の動作を説明する。
【0022】まず図6は、負値となるホールド時間を示
している。フリップフロップ21に入力されるクロック
信号23が図6のクロック波形Dで、データ信号24が
データ波形Eである場合、クロック信号23の変化前に
データ信号24が変化している。この時、フリップフロ
ップ21はデータ信号24の変化前のデータを正常に取
り込んでいるとする。この場合、フリップフロップ21
のホールド時間は負値となる。
している。フリップフロップ21に入力されるクロック
信号23が図6のクロック波形Dで、データ信号24が
データ波形Eである場合、クロック信号23の変化前に
データ信号24が変化している。この時、フリップフロ
ップ21はデータ信号24の変化前のデータを正常に取
り込んでいるとする。この場合、フリップフロップ21
のホールド時間は負値となる。
【0023】このため、本実施例では、処理50で入力
された回路図の中で、処理61で負のホールド時間を持
つフリップフロップ21を検出する。処理62では、デ
ータ信号24の変化時間t4とクロック信号23の変化時
間t3の差を求めて、ホールド時間を正にするためにデー
タ信号24を遅らせる時間Δt(=t3−t4+ユニット遅
延)を求める。ユニット遅延はシミュレータを正常に動
作させるための最小遅延時間である。その後、処理63
では、Δtだけ信号を遅らせる遅延素子26を挿入して
回路を変更する。この結果、データ信号24からΔtだ
け遅れたデータ信号25が、図6に示すデータ波形Fと
なってフリップフロップ21に供給される。この結果、
処理64では、フリップフロップ21のホールド時間を
正値に変更し、処理55での論理シミュレーションが可
能になる。
された回路図の中で、処理61で負のホールド時間を持
つフリップフロップ21を検出する。処理62では、デ
ータ信号24の変化時間t4とクロック信号23の変化時
間t3の差を求めて、ホールド時間を正にするためにデー
タ信号24を遅らせる時間Δt(=t3−t4+ユニット遅
延)を求める。ユニット遅延はシミュレータを正常に動
作させるための最小遅延時間である。その後、処理63
では、Δtだけ信号を遅らせる遅延素子26を挿入して
回路を変更する。この結果、データ信号24からΔtだ
け遅れたデータ信号25が、図6に示すデータ波形Fと
なってフリップフロップ21に供給される。この結果、
処理64では、フリップフロップ21のホールド時間を
正値に変更し、処理55での論理シミュレーションが可
能になる。
【0024】以上のように本実施例によれば、負値のホ
ールド時間を持つフリップフロップを検出する手順と、
前記ホールド時間の絶対値より大きい第3の遅延時間を
算出する手順と、前記第3の遅延時間だけ遅らせる遅延
素子を前記フリップフロップのデータ入力端子の直前に
挿入する手順と、前記ホールド時間と前記第3の遅延時
間を加えた値を前記フリップフロップのホールド時間と
する手順を設けることにより、正確な論理シミュレーシ
ョンが実現でき、タイミング調整の余分のゲートによる
回路増大を避けることができる。
ールド時間を持つフリップフロップを検出する手順と、
前記ホールド時間の絶対値より大きい第3の遅延時間を
算出する手順と、前記第3の遅延時間だけ遅らせる遅延
素子を前記フリップフロップのデータ入力端子の直前に
挿入する手順と、前記ホールド時間と前記第3の遅延時
間を加えた値を前記フリップフロップのホールド時間と
する手順を設けることにより、正確な論理シミュレーシ
ョンが実現でき、タイミング調整の余分のゲートによる
回路増大を避けることができる。
【0025】なお、第1の実施例において、クロック波
形の変化時刻からデータ波形の変化後のデータがラッチ
できる時刻の最大値を処理52でΔtとしてもよい。ま
た、第2の実施例において、処理62において、Δtを
データ波形の変化前のデータがラッチできる時刻の最大
値としてもよい。
形の変化時刻からデータ波形の変化後のデータがラッチ
できる時刻の最大値を処理52でΔtとしてもよい。ま
た、第2の実施例において、処理62において、Δtを
データ波形の変化前のデータがラッチできる時刻の最大
値としてもよい。
【0026】また、第1の実施例と第2の実施例におい
て、遅延素子とフリップフロップをまとめてフリップフ
ロップの論理シミュレーション用の論理ライブラリとす
ることで、論理シミュレーション時にフリップフロップ
の論理モデルが遅延素子とフリップフロップに容易に展
開されて、正確な論理シミュレーションが実行できる。
て、遅延素子とフリップフロップをまとめてフリップフ
ロップの論理シミュレーション用の論理ライブラリとす
ることで、論理シミュレーション時にフリップフロップ
の論理モデルが遅延素子とフリップフロップに容易に展
開されて、正確な論理シミュレーションが実行できる。
【0027】
【発明の効果】以上のように本実施例によれば、負値の
セットアップ時間を持つフリップフロップを検出する手
順と、前記セットアップ時間の絶対値より大きい第1の
遅延時間を算出する手順と、前記第1の遅延時間だけ遅
らせる遅延素子を前記フリップフロップのクロック端子
の直前に挿入する手順と、前記クロック端子から前記フ
リップフロップの出力端子までの第2の遅延時間を前記
第2の遅延時間から前記第1の遅延時間を引いた値に変
更する手順と、前記セットアップ時間と前記第1の遅延
時間を加えた値を前記フリップフロップのセットアップ
時間とする手順を設けることにより、出力信号を遅らせ
る事なくセットアップ時間を正値として正確な論理シミ
ュレーションが可能となり、タイミング調整の余分のゲ
ートによる回路増大を避けることができる。
セットアップ時間を持つフリップフロップを検出する手
順と、前記セットアップ時間の絶対値より大きい第1の
遅延時間を算出する手順と、前記第1の遅延時間だけ遅
らせる遅延素子を前記フリップフロップのクロック端子
の直前に挿入する手順と、前記クロック端子から前記フ
リップフロップの出力端子までの第2の遅延時間を前記
第2の遅延時間から前記第1の遅延時間を引いた値に変
更する手順と、前記セットアップ時間と前記第1の遅延
時間を加えた値を前記フリップフロップのセットアップ
時間とする手順を設けることにより、出力信号を遅らせ
る事なくセットアップ時間を正値として正確な論理シミ
ュレーションが可能となり、タイミング調整の余分のゲ
ートによる回路増大を避けることができる。
【0028】また、負値のホールド時間を持つフリップ
フロップを検出する手順と、前記ホールド時間の絶対値
より大きい第3の遅延時間を算出する手順と、前記第3
の遅延時間だけ遅らせる遅延素子を前記フリップフロッ
プのデータ入力端子の直前に挿入する手順と、前記ホー
ルド時間と前記第3の遅延時間を加えた値を前記フリッ
プフロップのホールド時間とする手順を設けることによ
り、正確な論理シミュレーションが実現でき、タイミン
グ調整の余分のゲートによる回路増大を避けることがで
きる。
フロップを検出する手順と、前記ホールド時間の絶対値
より大きい第3の遅延時間を算出する手順と、前記第3
の遅延時間だけ遅らせる遅延素子を前記フリップフロッ
プのデータ入力端子の直前に挿入する手順と、前記ホー
ルド時間と前記第3の遅延時間を加えた値を前記フリッ
プフロップのホールド時間とする手順を設けることによ
り、正確な論理シミュレーションが実現でき、タイミン
グ調整の余分のゲートによる回路増大を避けることがで
きる。
【0029】また、負値のセットアップ時間の絶対値よ
り大きい値である第4の遅延時間だけ遅らせる遅延素子
と、前記遅延素子が接続された前記フリップフロップの
クロック端子と、前記第4の遅延時間を引いた値を入力
された前記クロック端子から前記フリップフロップの出
力端子までの第5の遅延時間と、前記第4の遅延時間を
加えられたセットアップ時間を設けることにより、遅延
素子とフリップフロップをまとめてフリップフロップの
論理シミュレーション用の論理ライブラリとすること
で、論理シミュレーション時にフリップフロップの論理
モデルが遅延素子とフリップフロップに展開されて、正
確な論理シミュレーションが実行できる。
り大きい値である第4の遅延時間だけ遅らせる遅延素子
と、前記遅延素子が接続された前記フリップフロップの
クロック端子と、前記第4の遅延時間を引いた値を入力
された前記クロック端子から前記フリップフロップの出
力端子までの第5の遅延時間と、前記第4の遅延時間を
加えられたセットアップ時間を設けることにより、遅延
素子とフリップフロップをまとめてフリップフロップの
論理シミュレーション用の論理ライブラリとすること
で、論理シミュレーション時にフリップフロップの論理
モデルが遅延素子とフリップフロップに展開されて、正
確な論理シミュレーションが実行できる。
【0030】また、負値のホールド時間の絶対値より大
きい第6の遅延時間だけ遅らせる遅延素子と、前記遅延
素子が接続された前記フリップフロップのデータ端子
と、前記第6の遅延時間を加えられたホールド時間を設
けることにより、遅延素子とフリップフロップをまとめ
てフリップフロップの論理シミュレーション用の論理ラ
イブラリとすることで、論理シミュレーション時にフリ
ップフロップの論理モデルが遅延素子とフリップフロッ
プに展開されて、正確な論理シミュレーションが実行で
きる。
きい第6の遅延時間だけ遅らせる遅延素子と、前記遅延
素子が接続された前記フリップフロップのデータ端子
と、前記第6の遅延時間を加えられたホールド時間を設
けることにより、遅延素子とフリップフロップをまとめ
てフリップフロップの論理シミュレーション用の論理ラ
イブラリとすることで、論理シミュレーション時にフリ
ップフロップの論理モデルが遅延素子とフリップフロッ
プに展開されて、正確な論理シミュレーションが実行で
きる。
【図1】本発明の第1の実施例における論理シミュレー
ション方法のアルゴリズムを示す図
ション方法のアルゴリズムを示す図
【図2】同実施例における回路変換例を示す図
【図3】同実施例における変換された信号を示すタイミ
ング図
ング図
【図4】本発明の第2の実施例における論理シミュレー
ション方法のアルゴリズム図である。
ション方法のアルゴリズム図である。
【図5】同実施例における回路変換例を示す図
【図6】同実施例における変換された信号を示すタイミ
ング図
ング図
10、13 フリップフロップ 11、12、14 論理素子 15 データ信号 16、17 クロック信号 18 遅延素子 20、21 フリップフロップ 22 論理素子 23 クロック信号 24、25 データ信号 26 遅延素子
Claims (8)
- 【請求項1】負値のセットアップ時間を持つフリップフ
ロップを検出する手順と、 前記セットアップ時間の絶対値より大きい第1の遅延時
間を算出する手順と、 前記第1の遅延時間だけ遅らせる遅延素子を前記フリッ
プフロップのクロック端子の直前に挿入する手順と、 前記クロック端子から前記フリップフロップの出力端子
までの第2の遅延時間を前記第2の遅延時間から前記第
1の遅延時間を引いた値に変更する手順と、 前記セットアップ時間と前記第1の遅延時間を加えた値
を前記フリップフロップのセットアップ時間とする手順
とを備えたことを特徴とする半導体集積回路の論理シミ
ュレーション方法。 - 【請求項2】第1の遅延時間は、 セットアップ時間の絶対値と単位遅延時間との和とする
ことを特徴とする請求項1記載の論理シミュレーション
方法。 - 【請求項3】負値のホールド時間を持つフリップフロッ
プを検出する手順と、 前記ホールド時間の絶対値より大きい第3の遅延時間を
算出する手順と、 前記第3の遅延時間だけ遅らせる遅延素子を前記フリッ
プフロップのデータ入力端子の直前に挿入する手順と、 前記ホールド時間と前記第3の遅延時間を加えた値を前
記フリップフロップのホールド時間とする手順とを備え
たことを特徴とする半導体集積回路の論理シミュレーシ
ョン方法。 - 【請求項4】第3の遅延時間は、 ホールド時間の絶対値と単位遅延時間との和とすること
を特徴とする請求項2記載の論理シミュレーション方
法。 - 【請求項5】半導体集積回路の論理シミュレーションで
クロック信号に同期してデータを取り込むフリップフロ
ップの論理ライブラリであって、 負値のセットアップ時間の絶対値より大きい値である第
4の遅延時間だけ遅らせる遅延素子と、 前記遅延素子が接続された前記フリップフロップのクロ
ック端子と、 前記第4の遅延時間を引いた値を入力された前記クロッ
ク端子から前記フリップフロップの出力端子までの第5
の遅延時間と、 前記第4の遅延時間を加えられたセットアップ時間とを
備えたことを特徴とするフリップフロップの論理ライブ
ラリ。 - 【請求項6】第4の遅延時間は、 セットアップ時間の絶対値と単位遅延時間との和とする
ことを特徴とする請求項5記載の論理ライブラリ。 - 【請求項7】半導体集積回路の論理シミュレーションで
クロック信号に同期してデータを取り込むフリップフロ
ップの論理ライブラリであって、 負値のホールド時間の絶対値より大きい第6の遅延時間
だけ遅らせる遅延素子と、 前記遅延素子が接続された前記フリップフロップのデー
タ端子と、前記第6の遅延時間を加えられたホールド時
間とを備えたことを特徴とする論理ライブラリ。 - 【請求項8】第6の遅延時間は、 ホールド時間の絶対値と単位遅延時間との和とすること
を特徴とする請求項7記載の論理ライブラリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7118185A JPH08314994A (ja) | 1995-05-17 | 1995-05-17 | 論理シミュレーション方法および論理ライブラリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7118185A JPH08314994A (ja) | 1995-05-17 | 1995-05-17 | 論理シミュレーション方法および論理ライブラリ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08314994A true JPH08314994A (ja) | 1996-11-29 |
Family
ID=14730259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7118185A Pending JPH08314994A (ja) | 1995-05-17 | 1995-05-17 | 論理シミュレーション方法および論理ライブラリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08314994A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056417A (ja) * | 2003-07-31 | 2005-03-03 | Samsung Electronics Co Ltd | ネガティブセットアップタイムまたはネガティブホールドタイムを有するハードマクロコアライブラリのhdlシミュレーション方法 |
-
1995
- 1995-05-17 JP JP7118185A patent/JPH08314994A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056417A (ja) * | 2003-07-31 | 2005-03-03 | Samsung Electronics Co Ltd | ネガティブセットアップタイムまたはネガティブホールドタイムを有するハードマクロコアライブラリのhdlシミュレーション方法 |
JP4496554B2 (ja) * | 2003-07-31 | 2010-07-07 | 三星電子株式会社 | ネガティブセットアップタイムまたはネガティブホールドタイムを有するハードマクロコアライブラリのhdlシミュレーション方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6311148B1 (en) | Method for determining static flip-flop setup and hold times | |
US20070129923A1 (en) | Dynamic synchronizer simulation | |
JPH08314994A (ja) | 論理シミュレーション方法および論理ライブラリ | |
JP2853619B2 (ja) | 論理遅延シミュレーション方法 | |
US7072821B1 (en) | Device and method for synchronizing an asynchronous signal in synthesis and simulation of a clocked circuit | |
JP3123982B2 (ja) | 論理シミュレーション方法 | |
JPH05189517A (ja) | シミュレーション回路 | |
JP2937139B2 (ja) | 論理回路の遅延検証方法 | |
US7213222B2 (en) | Method of HDL simulation considering hard macro core with negative setup/hold time | |
JP2863779B2 (ja) | タイミング検証方法及び検証装置及びテストパターン生成方法 | |
JPS6215664A (ja) | 論理シミユレ−タ | |
JPH117461A (ja) | 論理シミュレーション方法およびテストパターン生成装置 | |
JP2962232B2 (ja) | スキャンパス回路の自動配置配線方法 | |
JP3165809B2 (ja) | ディジタルlsiシミュレーション結果の判定方法 | |
JPH11120212A (ja) | 回路設計方法及び装置並びにそのプログラムを記録した記録媒体 | |
JPH0581368A (ja) | スキヤンパスにおける双方向端子のモード検証方法 | |
JPH10319090A (ja) | テストベンチ変換方法および変換装置 | |
JP4209010B2 (ja) | クロック最適化装置 | |
JP3317231B2 (ja) | スキュー検証方法 | |
JPH04357569A (ja) | 論理シミュレータ | |
JPH02112037A (ja) | 論理シミュレーション方法 | |
JP2002215568A (ja) | 非同期データ転送方法 | |
JPH1167920A (ja) | 半導体集積回路装置の設計方法および半導体集積回路装置 | |
JPH11204653A (ja) | 半導体集積回路装置の設計方法 | |
JPS6215665A (ja) | 論理シミユレ−タ |