JP2914257B2 - 競合動作の判定方法 - Google Patents
競合動作の判定方法Info
- Publication number
- JP2914257B2 JP2914257B2 JP7317263A JP31726395A JP2914257B2 JP 2914257 B2 JP2914257 B2 JP 2914257B2 JP 7317263 A JP7317263 A JP 7317263A JP 31726395 A JP31726395 A JP 31726395A JP 2914257 B2 JP2914257 B2 JP 2914257B2
- Authority
- JP
- Japan
- Prior art keywords
- flip
- flop
- input terminal
- delay time
- 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.)
- Expired - Lifetime
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
- Logic Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は競合動作の判定方法
に関し、特にテストパタンを用いることなく、組合せ回
路、順序回路等の基本ゲートにより構成された論理回路
の全ての外部入力端子間の競合動作不良を判定する方法
に関する。
に関し、特にテストパタンを用いることなく、組合せ回
路、順序回路等の基本ゲートにより構成された論理回路
の全ての外部入力端子間の競合動作不良を判定する方法
に関する。
【0002】
【従来の技術】ANDゲート、ORゲート等の基本組合
せ回路(ゲート回路)及びフリップフロップ等からなる
論理回路における外部端子間の競合動作の検証には、従
来、図8に示すように、テストパタンを用いて論理シミ
ュレーションを実行して行われていた。すなわち、論理
シミュレータにパタンと回路接続情報を規定するネット
リストを与え、各外部入力端子の入力タイミングをずら
して論理シミュレーションを実行し、実行結果に異常が
なければ問題なし(競合動作無)と判断していた。この
種の論理シミュレーションの実行による競合動作判定方
法として、例えば特開平2−91770号公報には論理
シミュレーションの実行と並列に詳細遅延値に基づく各
種基準パラメータ(例えばクロックキュー発生時刻、ホ
ールドタイム基準値、セットアップタイム基準値等)に
基づきフリップフロップ等の回路モデルに対するレーシ
ング(racing)チェックを高速に行なうようにした構成
が提案されている。なお、レーシングとは二つの信号が
競合(競争)することをいい、例えば組合せ回路の入力
端子の二つ以上が同時に変化すると出力が一時的に正常
動作しなくなり(ハザード)、後段のフリップフロップ
回路に誤動作を生じることになる。
せ回路(ゲート回路)及びフリップフロップ等からなる
論理回路における外部端子間の競合動作の検証には、従
来、図8に示すように、テストパタンを用いて論理シミ
ュレーションを実行して行われていた。すなわち、論理
シミュレータにパタンと回路接続情報を規定するネット
リストを与え、各外部入力端子の入力タイミングをずら
して論理シミュレーションを実行し、実行結果に異常が
なければ問題なし(競合動作無)と判断していた。この
種の論理シミュレーションの実行による競合動作判定方
法として、例えば特開平2−91770号公報には論理
シミュレーションの実行と並列に詳細遅延値に基づく各
種基準パラメータ(例えばクロックキュー発生時刻、ホ
ールドタイム基準値、セットアップタイム基準値等)に
基づきフリップフロップ等の回路モデルに対するレーシ
ング(racing)チェックを高速に行なうようにした構成
が提案されている。なお、レーシングとは二つの信号が
競合(競争)することをいい、例えば組合せ回路の入力
端子の二つ以上が同時に変化すると出力が一時的に正常
動作しなくなり(ハザード)、後段のフリップフロップ
回路に誤動作を生じることになる。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
競合動作不良判定方法では、全外部入力端子の入力タイ
ミングをずらし、このタイミングのずらし方をかえた回
数分の論理シミュレーションを行うことが必要とされ、
このため競合動作の判定に要する時間が長くなるという
問題がある。
競合動作不良判定方法では、全外部入力端子の入力タイ
ミングをずらし、このタイミングのずらし方をかえた回
数分の論理シミュレーションを行うことが必要とされ、
このため競合動作の判定に要する時間が長くなるという
問題がある。
【0004】従って、本発明は上記問題点に鑑みて為さ
れたものであって、テストパタンを用いることなく外部
入力端子間の競合動作の判定を高速に行う方法を提供す
ることを目的とする。
れたものであって、テストパタンを用いることなく外部
入力端子間の競合動作の判定を高速に行う方法を提供す
ることを目的とする。
【0005】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、1又は複数のゲート回路、及びフリップ
フロップを含む論理回路への外部入力端子から該フリッ
プフロップまでの遅延時間差による競合動作の検証を行
なう方法において、選択された一の外部入力端子を起点
とし入力信号が駆動するゲート回路方向に前記フリップ
フロップの入力端子までトレースを行ない前記外部入力
端子と前記フリップフロップの入力端子までの遅延時間
(「第1の遅延時間」という)を計算し、到達した前記
フリップフロップの入力端子がデータ端子の場合には、
前記第1の遅延時間をTdとし、前記フリップフロップ
のクロック端子を起点として、クロック信号を駆動して
いるゲート回路の方向に後方トレースを行い、到達した
他の外部入力端子と起点までの第2の遅延時間を計算し
て前記第2の遅延時間をTcとし、到達した前記フリッ
プフロップの入力端子がクロック端子の場合には、前記
第1の遅延時間をTcとし、前記フリップフロップのデ
ータ端子を起点とし、データ信号を駆動しているゲート
回路の方向に後方トレースを行い、到達した第2の外部
入力端子と起点までの第2の遅延時間を計算して前記第
2の遅延時間をTdとし、前記Tdから前記Tcを引い
た値が、前記フリップフロップのホールド時間より小さ
いか、又は、前記Tcから前記Tdを引いた値が前記フ
リップフロップのセットアップ時間よりも小さい場合
に、競合動作と判定することを特徴とする競合動作の判
定方法を提供する。
め、本発明は、1又は複数のゲート回路、及びフリップ
フロップを含む論理回路への外部入力端子から該フリッ
プフロップまでの遅延時間差による競合動作の検証を行
なう方法において、選択された一の外部入力端子を起点
とし入力信号が駆動するゲート回路方向に前記フリップ
フロップの入力端子までトレースを行ない前記外部入力
端子と前記フリップフロップの入力端子までの遅延時間
(「第1の遅延時間」という)を計算し、到達した前記
フリップフロップの入力端子がデータ端子の場合には、
前記第1の遅延時間をTdとし、前記フリップフロップ
のクロック端子を起点として、クロック信号を駆動して
いるゲート回路の方向に後方トレースを行い、到達した
他の外部入力端子と起点までの第2の遅延時間を計算し
て前記第2の遅延時間をTcとし、到達した前記フリッ
プフロップの入力端子がクロック端子の場合には、前記
第1の遅延時間をTcとし、前記フリップフロップのデ
ータ端子を起点とし、データ信号を駆動しているゲート
回路の方向に後方トレースを行い、到達した第2の外部
入力端子と起点までの第2の遅延時間を計算して前記第
2の遅延時間をTdとし、前記Tdから前記Tcを引い
た値が、前記フリップフロップのホールド時間より小さ
いか、又は、前記Tcから前記Tdを引いた値が前記フ
リップフロップのセットアップ時間よりも小さい場合
に、競合動作と判定することを特徴とする競合動作の判
定方法を提供する。
【0006】本発明においては、前記後方トレースにお
ける、起点からトレース途中のゲート回路までの遅延時
間が、前記フリップフロップのクロック端子を起点とす
る場合には、前記Tdに前記フリップフロップのセット
アップ時間を加算した値よりも大きい場合と、前記フリ
ップフロップのデータ端子を起点とする場合には、前記
Tcに前記フリップフロップのホールド時間を加算した
値よりも大きい場合に、前記後方トレースを中止するこ
とを特徴とする。
ける、起点からトレース途中のゲート回路までの遅延時
間が、前記フリップフロップのクロック端子を起点とす
る場合には、前記Tdに前記フリップフロップのセット
アップ時間を加算した値よりも大きい場合と、前記フリ
ップフロップのデータ端子を起点とする場合には、前記
Tcに前記フリップフロップのホールド時間を加算した
値よりも大きい場合に、前記後方トレースを中止するこ
とを特徴とする。
【0007】上記構成のもと、本発明によれば、テスト
パタンを用いることなく、回路接続情報と回路素子遅延
情報とを入力としたパス解析による遅延計算プログラム
を用いるため、競合動作の検証時間を大幅に短縮する。
パタンを用いることなく、回路接続情報と回路素子遅延
情報とを入力としたパス解析による遅延計算プログラム
を用いるため、競合動作の検証時間を大幅に短縮する。
【0008】また、競合動作の判定において外部入力端
子からのクロック遅延時間と外部端子からのデータ遅延
時間の比較を行うために、論理回路をトレースする際、
データ遅延とクロック遅延との差がフリップフロップの
ホールド値、セットアップ値よりも大きくなった時点で
トレースを中止すること、フリップフロップのホールド
値やセットアップ値とスキュー値を加算値よりも大きく
なった時点でトレースを中止することにより、パス解析
のトレースする範囲を制限することができ、このため検
証時間を短縮することができる。
子からのクロック遅延時間と外部端子からのデータ遅延
時間の比較を行うために、論理回路をトレースする際、
データ遅延とクロック遅延との差がフリップフロップの
ホールド値、セットアップ値よりも大きくなった時点で
トレースを中止すること、フリップフロップのホールド
値やセットアップ値とスキュー値を加算値よりも大きく
なった時点でトレースを中止することにより、パス解析
のトレースする範囲を制限することができ、このため検
証時間を短縮することができる。
【0009】
【発明の実施の形態】本発明の実施の形態を図面を参照
して以下に説明する。
して以下に説明する。
【0010】図1は、本発明の一実施形態に係る競合動
作の判定法の処理を説明するための流れ図である。図3
は、本実施形態の方法の適用例を説明するための論理回
路の一例を示す図である。
作の判定法の処理を説明するための流れ図である。図3
は、本実施形態の方法の適用例を説明するための論理回
路の一例を示す図である。
【0011】図3において、1はデータ信号の外部入力
端子、2はクロック信号の外部入力端子、16、22は
フリップフロップ(D型フリップフロップ、以下「F/
F」という)、10、12、14、18、20、24、
26は論理回路を構成するための回路ブロックである。
端子、2はクロック信号の外部入力端子、16、22は
フリップフロップ(D型フリップフロップ、以下「F/
F」という)、10、12、14、18、20、24、
26は論理回路を構成するための回路ブロックである。
【0012】図3に示す論理回路に本実施形態を適用し
た場合の動作を、図1の流れ図を参照して以下に説明す
る。
た場合の動作を、図1の流れ図を参照して以下に説明す
る。
【0013】論理回路の回路接続情報を、回路接続情報
を格納したネットリストファイルから読み込み(ステッ
プS101)、次に回路素子(例えば基本ゲート)の遅延情
報を例えば基本ライブラリ等から読み込み(ステップS1
02)、検証済みでない外部入力端子の選択を行なう(ス
テップS104)。
を格納したネットリストファイルから読み込み(ステッ
プS101)、次に回路素子(例えば基本ゲート)の遅延情
報を例えば基本ライブラリ等から読み込み(ステップS1
02)、検証済みでない外部入力端子の選択を行なう(ス
テップS104)。
【0014】次に、接続先を確認し(ステップS105)、
接続先が外部端子でない場合(ステップS106)には、接
続先がF/Fであるか否かを判定する(ステップS10
7)。すなわち、外部端子間の競合検証対象の外部入力
端子1をスタートポイント(起点)とし、F/Fブロッ
クの入力までのパスをトレースする。この間、F/Fに
到達するまでの接続回路素子(図3においてはブロック
10、12、14)の遅延をステップS102で読み込んだ
回路素子遅延情報を基に計算し、入力遅延に加算する
(ステップS111)。その際、ブロック10、12、14
等の内部回路の回路接続情報に対応して遅延情報を基に
ブロック10、12、14における信号の各遅延情報
(例えば伝搬遅延時間)を導出する。
接続先が外部端子でない場合(ステップS106)には、接
続先がF/Fであるか否かを判定する(ステップS10
7)。すなわち、外部端子間の競合検証対象の外部入力
端子1をスタートポイント(起点)とし、F/Fブロッ
クの入力までのパスをトレースする。この間、F/Fに
到達するまでの接続回路素子(図3においてはブロック
10、12、14)の遅延をステップS102で読み込んだ
回路素子遅延情報を基に計算し、入力遅延に加算する
(ステップS111)。その際、ブロック10、12、14
等の内部回路の回路接続情報に対応して遅延情報を基に
ブロック10、12、14における信号の各遅延情報
(例えば伝搬遅延時間)を導出する。
【0015】外部入力端子1からF/Fブロック16に
至るパスのトレースにより到達する端子は、F/Fブロ
ック16のデータ端子(D)であり、この場合、接続先
がF/Fのクロック入力でないため(ステップS108参
照)、トレースされるパス上のブロックはブロック1
0、12、14である。そして、外部入力端子1からブ
ロック10、12、14を介しF/Fブロック16のデ
ータ端子までの遅延時間を計算した値を遅延時間(T
d)とする(ステップS109)。
至るパスのトレースにより到達する端子は、F/Fブロ
ック16のデータ端子(D)であり、この場合、接続先
がF/Fのクロック入力でないため(ステップS108参
照)、トレースされるパス上のブロックはブロック1
0、12、14である。そして、外部入力端子1からブ
ロック10、12、14を介しF/Fブロック16のデ
ータ端子までの遅延時間を計算した値を遅延時間(T
d)とする(ステップS109)。
【0016】次に、F/F16のクロック端子(CK)
から外部入力端子に到達するまで後方トレースを行う。
から外部入力端子に到達するまで後方トレースを行う。
【0017】図3に示す論理回路において、F/F16
のクロック入力端子(CK)から後方トレースにより到
達する外部入力端子は外部入力端子2であり、トレース
されるパス上のブロックは、ブロック(インバータ)2
4、26である。
のクロック入力端子(CK)から後方トレースにより到
達する外部入力端子は外部入力端子2であり、トレース
されるパス上のブロックは、ブロック(インバータ)2
4、26である。
【0018】F/F16のクロック端子(CK)からブ
ロック24、26を介し、外部入力端子2までの遅延時
間(Tc)を計算する(ステップS110)。
ロック24、26を介し、外部入力端子2までの遅延時
間(Tc)を計算する(ステップS110)。
【0019】次に、TdとTcを比較し(ステップS11
2)、TdがTcより大きい場合には、F/F16のホ
ールド時間(Thold;F/Fのクロック信号の遷移の後
にデータ端子入力を固定しておかなくてならない時間)
が、TdとTcの差より大きい場合に(Td−Tc<T
hold)、ホールドエラーの競合動作と判断する(ステッ
プS115)。
2)、TdがTcより大きい場合には、F/F16のホ
ールド時間(Thold;F/Fのクロック信号の遷移の後
にデータ端子入力を固定しておかなくてならない時間)
が、TdとTcの差より大きい場合に(Td−Tc<T
hold)、ホールドエラーの競合動作と判断する(ステッ
プS115)。
【0020】逆に、TdがTcより小さい場合には、F
/F16のセットアップ時間(Tsetup;F/Fのクロ
ック信号の遷移の前にデータ端子入力を固定しておかな
くてならない時間)が、TdとTcの差より大きい場合
(Tc−Td<Tsetup)に、セットアップ違反の競合
動作と判断する(ステップS115)。
/F16のセットアップ時間(Tsetup;F/Fのクロ
ック信号の遷移の前にデータ端子入力を固定しておかな
くてならない時間)が、TdとTcの差より大きい場合
(Tc−Td<Tsetup)に、セットアップ違反の競合
動作と判断する(ステップS115)。
【0021】また、前記TdとTcの比較(ステップS1
12)において、TdとTcが等値であるならば、ホール
ドとセットアップの両方の競合動作であることを判定す
る。
12)において、TdとTcが等値であるならば、ホール
ドとセットアップの両方の競合動作であることを判定す
る。
【0022】一方、始めに外部入力端子2が外部端子間
競合の対象端子として選択された場合は、入力端子2か
らF/F16のクロック入力端子(CK)までの遅延時
間(Tc)を計算した後、F/F16のデータ端子
(D)から外部入力端子1までの遅延時間(Td)を計
算し、前記同様の判定方法で競合動作の判定を行なう。
競合の対象端子として選択された場合は、入力端子2か
らF/F16のクロック入力端子(CK)までの遅延時
間(Tc)を計算した後、F/F16のデータ端子
(D)から外部入力端子1までの遅延時間(Td)を計
算し、前記同様の判定方法で競合動作の判定を行なう。
【0023】図4は、F/Fのデータ端子としてリセッ
ト端子(RB)も考慮した場合の例を説明するための図
である。図3との相違点は、リセット端子(RSET)5が
設けられているので、競合動作の判定は、F/F34の
リセット端子(RB)に対しても、外部入力端子からの
遅延時間(Td)を計算し、競合動作の判定を行なうこ
とである。
ト端子(RB)も考慮した場合の例を説明するための図
である。図3との相違点は、リセット端子(RSET)5が
設けられているので、競合動作の判定は、F/F34の
リセット端子(RB)に対しても、外部入力端子からの
遅延時間(Td)を計算し、競合動作の判定を行なうこ
とである。
【0024】次に、本発明の第2の実施形態について図
面を参照して説明する。図2は、本発明の第2の実施形
態に係る競合動作の判定方法に用いられるブロックトレ
ース方法のアルゴリズムを説明するための流れ図であ
る。また、図5は、競合動作検証対象の論理回路の構成
の一例を示す図である。
面を参照して説明する。図2は、本発明の第2の実施形
態に係る競合動作の判定方法に用いられるブロックトレ
ース方法のアルゴリズムを説明するための流れ図であ
る。また、図5は、競合動作検証対象の論理回路の構成
の一例を示す図である。
【0025】図5において、107はF/Fブロック、
108〜111は外部入力端子、101〜106は、論
理回路を構成するためのブロックである。各ブロックの
遅延時間を4ns、F/Fブロック108のセットアッ
プ時間及びホールド時間を共に1nsとする。
108〜111は外部入力端子、101〜106は、論
理回路を構成するためのブロックである。各ブロックの
遅延時間を4ns、F/Fブロック108のセットアッ
プ時間及びホールド時間を共に1nsとする。
【0026】図2の流れ図を参照して、本実施形態の動
作を説明する。なお、図2の流れ図において、回路接続
情報の読み込み、回路素子遅延情報の読み込み、未検証
の外部入力端子の存在の有無の判定等のステップは省略
されている。以下では、図6は図5に示す論理回路に、
本実施形態の競合動作の判定方法を適用した場合のトレ
ース図を示している。図6において、ブロック中の数字
は、トレースの順序を示している。
作を説明する。なお、図2の流れ図において、回路接続
情報の読み込み、回路素子遅延情報の読み込み、未検証
の外部入力端子の存在の有無の判定等のステップは省略
されている。以下では、図6は図5に示す論理回路に、
本実施形態の競合動作の判定方法を適用した場合のトレ
ース図を示している。図6において、ブロック中の数字
は、トレースの順序を示している。
【0027】外部端子間競合検証の対象となる外部入力
端子(EXT1)108をスタートポイントとし(ステッ
プS201)、F/Fブロック107の入力端子までのパス
をトレースする。その際、スタートポイントからF/F
の入力端子までの遅延値を回路素子の遅延情報を基に計
算する。
端子(EXT1)108をスタートポイントとし(ステッ
プS201)、F/Fブロック107の入力端子までのパス
をトレースする。その際、スタートポイントからF/F
の入力端子までの遅延値を回路素子の遅延情報を基に計
算する。
【0028】図5に示す論理回路において外部入力端子
(EXT1)から開始して到達する端子は、F/Fブロ
ック(f)107のデータ端子(D)である。すなわち、
ステップS203のクロック端子の判定は「NO」とされ、
ステップS205に分岐する。
(EXT1)から開始して到達する端子は、F/Fブロ
ック(f)107のデータ端子(D)である。すなわち、
ステップS203のクロック端子の判定は「NO」とされ、
ステップS205に分岐する。
【0029】外部入力端子(EXT1)108からF/F
ブロック(f)107までの遅延値(Td)は4nsであ
る。
ブロック(f)107までの遅延値(Td)は4nsであ
る。
【0030】次に、F/Fブロック(f)107のクロッ
ク端子(C)から外部入力端子に到達するまで後方トレ
ースを行う(ステップS206)。
ク端子(C)から外部入力端子に到達するまで後方トレ
ースを行う(ステップS206)。
【0031】外部端子間競合で不良となるのは、トレー
スした遅延が外部入力端子(EXT1)108からF/F
ブロック(f)107までの遅延値である4nsから、F
/Fブロック(f)のホールド値1nsを差し引いた値
(=Td−Thold)である3nsよりも大きく、4ns
にF/Fブロックのセットアップ値1nsを加算した値
(=Td+Tsetup)である5nsよりも小さい場合で
ある。この範囲外であれば、エラーにはならない。
スした遅延が外部入力端子(EXT1)108からF/F
ブロック(f)107までの遅延値である4nsから、F
/Fブロック(f)のホールド値1nsを差し引いた値
(=Td−Thold)である3nsよりも大きく、4ns
にF/Fブロックのセットアップ値1nsを加算した値
(=Td+Tsetup)である5nsよりも小さい場合で
ある。この範囲外であれば、エラーにはならない。
【0032】図6を参照して、まずF/Fブロック
(f)のクロック端子(C)からブロック(e)までト
レースし、ブロック(e)までの遅延値(Tc)を計算
する(ステップS208)。計算結果の4nsは、Td+
Tsetup値である5nsよりも小さいため、図2のステ
ップS210の判定において、Tc−Td<Tsetupであ
り、更に後方トレースを行う(ステップS211からステ
ップS206へ帰還)。
(f)のクロック端子(C)からブロック(e)までト
レースし、ブロック(e)までの遅延値(Tc)を計算
する(ステップS208)。計算結果の4nsは、Td+
Tsetup値である5nsよりも小さいため、図2のステ
ップS210の判定において、Tc−Td<Tsetupであ
り、更に後方トレースを行う(ステップS211からステ
ップS206へ帰還)。
【0033】図6を参照して、後方トレースにおいて、
ブロック(e)の次のブロック(すなわち前段のブロッ
ク)として2つのブロック(d)とブロック(g)が存
在する。
ブロック(e)の次のブロック(すなわち前段のブロッ
ク)として2つのブロック(d)とブロック(g)が存
在する。
【0034】まず、ブロック(d)までをトレースし、
ブロックdまでの遅延値を計算する。計算結果の8ns
は、Td+Tsetup値である5nsよりも大きいため、
図2のステップS210の判定においてTc−Td>Tset
upが成り立ち、これ以上の後方トレースは行わない。
ブロックdまでの遅延値を計算する。計算結果の8ns
は、Td+Tsetup値である5nsよりも大きいため、
図2のステップS210の判定においてTc−Td>Tset
upが成り立ち、これ以上の後方トレースは行わない。
【0035】これは、更に後方トレースを行って外部入
力端子に到達したとしても、F/Fブロック(f)のホ
ールド値を満足することはわかっているため、外部端子
間競合不良となることはないので、後方トレースを中止
するものである。
力端子に到達したとしても、F/Fブロック(f)のホ
ールド値を満足することはわかっているため、外部端子
間競合不良となることはないので、後方トレースを中止
するものである。
【0036】次に、別のパスとしてブロック(g)まで
をトレースし、ブロック(g)までの遅延値(Tc)を
計算する。計算結果は8nsであるため、ブロック
(d)の時と同様に、図2のステップS210の判定にお
いてTc−Td>Tsetupが成り立ち、これ以上トレー
スしても外部端子間競合不良となることはないので、ト
レースを中止する。
をトレースし、ブロック(g)までの遅延値(Tc)を
計算する。計算結果は8nsであるため、ブロック
(d)の時と同様に、図2のステップS210の判定にお
いてTc−Td>Tsetupが成り立ち、これ以上トレー
スしても外部端子間競合不良となることはないので、ト
レースを中止する。
【0037】一方、外部入力端子から開始して到達する
端子がF/Fブロック(f)107のクロック端子(C)
である場合には、この外部入力端子からフリップフロッ
プ(f)107のクロック端子(C)までの遅延時間をT
cとし(たとえばEXT2からブロック102、105、106
を介してF/Fのクロック端子(C)に到達した場合に
はTcは12ns、EXT4からブロック104、106を介
してF/F107のクロック端子(C)に到達した場合に
はTcは8ns)、フリップフロップ(f)のデータ端
子(D)を起点とし(ステップS204)、データ信号を
駆動しているゲート回路の方向に後方トレースを行い
(ステップS206)、ブロック(a)までの遅延値(T
d)を計算する(ステップS207)。計算結果の4ns
は、Tc+Thold値である13ns又は9nsよりも小
さいため、図2のステップS209の判定において、Td
−Tc<Tholdであり、更に後方トレースを行う(ステ
ップS211)。そして、ステップS211の判定において外
部入力端子方向にブロックはもはや存在しないため、T
d−Tc<Tholdとなりホールドエラーの競合動作と判
断する。
端子がF/Fブロック(f)107のクロック端子(C)
である場合には、この外部入力端子からフリップフロッ
プ(f)107のクロック端子(C)までの遅延時間をT
cとし(たとえばEXT2からブロック102、105、106
を介してF/Fのクロック端子(C)に到達した場合に
はTcは12ns、EXT4からブロック104、106を介
してF/F107のクロック端子(C)に到達した場合に
はTcは8ns)、フリップフロップ(f)のデータ端
子(D)を起点とし(ステップS204)、データ信号を
駆動しているゲート回路の方向に後方トレースを行い
(ステップS206)、ブロック(a)までの遅延値(T
d)を計算する(ステップS207)。計算結果の4ns
は、Tc+Thold値である13ns又は9nsよりも小
さいため、図2のステップS209の判定において、Td
−Tc<Tholdであり、更に後方トレースを行う(ステ
ップS211)。そして、ステップS211の判定において外
部入力端子方向にブロックはもはや存在しないため、T
d−Tc<Tholdとなりホールドエラーの競合動作と判
断する。
【0038】これに対してステップS209の判定におい
て、TdがTcにフリップフロップのホールド時間を加
算した値よりも大きい(Td−Tc>Thold)場合、後
方トレースを中止する。
て、TdがTcにフリップフロップのホールド時間を加
算した値よりも大きい(Td−Tc>Thold)場合、後
方トレースを中止する。
【0039】本発明の第3の実施形態について図面を参
照して説明する。図7は、図5の論理回路に本発明の第
3の実施形態を適用した場合のトレース図である。図7
において、ブロック中の数字は、トレース順序を示す。
外部から外部入力端子への入力信号の到達時刻に最大2
nsの2nsがあるものとする。
照して説明する。図7は、図5の論理回路に本発明の第
3の実施形態を適用した場合のトレース図である。図7
において、ブロック中の数字は、トレース順序を示す。
外部から外部入力端子への入力信号の到達時刻に最大2
nsの2nsがあるものとする。
【0040】外部端子間競合不良のエラーとなるのは、
トレースした遅延が外部入力端子(EXT1)からF/
Fブロック(f)までの遅延である4nsから、F/F
ブロック(f)のホールド値1nsと外部端子間スキュ
ー値2nsを差し引いた値(=Td−Thold−Ts)で
ある1nsよりも大きく、4nsにF/Fブロック
(f)のセットアップ値1nsと外部端子間スキュー値
2nsを加算した値(=Td+Tsetup+Ts)である
7nsよりも小さい場合である。その範囲外であればエ
ラーにならない。
トレースした遅延が外部入力端子(EXT1)からF/
Fブロック(f)までの遅延である4nsから、F/F
ブロック(f)のホールド値1nsと外部端子間スキュ
ー値2nsを差し引いた値(=Td−Thold−Ts)で
ある1nsよりも大きく、4nsにF/Fブロック
(f)のセットアップ値1nsと外部端子間スキュー値
2nsを加算した値(=Td+Tsetup+Ts)である
7nsよりも小さい場合である。その範囲外であればエ
ラーにならない。
【0041】図6を参照して説明した前記第2の実施形
態と同じように、ブロック(d)までと、ブロック
(g)までの後方トレースを行い、遅延値8nsは、T
d+Tsetup+Ts値である7nsよりも大きいので、
これらブロックからの後方トレースを中止する。
態と同じように、ブロック(d)までと、ブロック
(g)までの後方トレースを行い、遅延値8nsは、T
d+Tsetup+Ts値である7nsよりも大きいので、
これらブロックからの後方トレースを中止する。
【0042】
【発明の効果】以上説明したように、本発明の競合の判
定方法によれば、テストパタンを使用することなく、回
路接続情報と回路素子遅延情報とを入力とした遅延計算
プログラムを用いるため、検証時間を大幅に短縮すると
いう効果を有する。
定方法によれば、テストパタンを使用することなく、回
路接続情報と回路素子遅延情報とを入力とした遅延計算
プログラムを用いるため、検証時間を大幅に短縮すると
いう効果を有する。
【0043】一般的に、テストパタンを使用しないで各
経路の遅延時間を求めるパス解析は、テストパタンを使
用する論理シミュレーションより実効時間は短いため
に、従来の方法では、複数回論理シミュレーションを行
わなければならないからである。
経路の遅延時間を求めるパス解析は、テストパタンを使
用する論理シミュレーションより実効時間は短いため
に、従来の方法では、複数回論理シミュレーションを行
わなければならないからである。
【0044】また、競合動作の判定において外部入力端
子からのクロック遅延時間と外部端子からのデータ遅延
時間の比較を行うために、論理回路をトレースする際、
データ遅延とクロック遅延との差がF/Fのホールド
値、セットアップ値よりも大きくなった時点でトレース
を中止すること、F/Fのホールド値やセットアップ値
とスキュー値を加算値よりも大きくなった時点でトレー
スを中止することにより、パス解析のトレースする範囲
を制限することができ、このため、検証時間を短縮する
ことができる。
子からのクロック遅延時間と外部端子からのデータ遅延
時間の比較を行うために、論理回路をトレースする際、
データ遅延とクロック遅延との差がF/Fのホールド
値、セットアップ値よりも大きくなった時点でトレース
を中止すること、F/Fのホールド値やセットアップ値
とスキュー値を加算値よりも大きくなった時点でトレー
スを中止することにより、パス解析のトレースする範囲
を制限することができ、このため、検証時間を短縮する
ことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の判定方法の処理動作
を説明するための流れ図である。
を説明するための流れ図である。
【図2】本発明の第2の実施形態の判定方法の処理動作
を説明するための流れ図である。
を説明するための流れ図である。
【図3】本発明の第1の実施形態の判定方法を具体的に
説明するための論理回路の一例を示す図である。
説明するための論理回路の一例を示す図である。
【図4】本発明の第1の実施形態の判定方法を具体的に
説明するための論理回路の別の例を示す図である。
説明するための論理回路の別の例を示す図である。
【図5】本発明の第2の実施形態の判定方法を具体的に
説明するための論理回路の一例を示す図である。
説明するための論理回路の一例を示す図である。
【図6】本発明の第2の実施形態を図5に示す論理回路
に適用した場合のトレース順序を示す図である。
に適用した場合のトレース順序を示す図である。
【図7】本発明の第3の実施形態を図5に示す論理回路
に適用した場合のトレース順序を示す図である。
に適用した場合のトレース順序を示す図である。
【図8】従来の競合動作判定方法を説明するための模式
図である。
図である。
1、2、3、4、5、108〜111 外部入力端子 16、22、34、40、107 F/Fブロック 10、24、28、42、46、101〜106 論理
ブロック 26、44、48、12、14、18、20、30、3
2、36、38 論理ブロック
ブロック 26、44、48、12、14、18、20、30、3
2、36、38 論理ブロック
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G01R 31/319 G01R 31/28 H03K 19/00
Claims (3)
- 【請求項1】1又は複数のゲート回路、及びフリップフ
ロップを含む論理回路への外部入力端子から該フリップ
フロップまでの遅延時間差による競合動作の検証を行な
う方法において、 選択された一の外部入力端子を起点とし入力信号が駆動
するゲート回路方向に前記フリップフロップの入力端子
までトレースを行ない前記外部入力端子と前記フリップ
フロップの入力端子までの遅延時間(「第1の遅延時
間」という)を計算し、 到達した前記フリップフロップの入力端子がデータ端子
の場合には、前記第1の遅延時間をTdとし、前記フリ
ップフロップのクロック端子を起点として、クロック信
号を駆動しているゲート回路の方向に後方トレースを行
い、到達した他の外部入力端子と起点までの第2の遅延
時間を計算して前記第2の遅延時間をTcとし、 到達した前記フリップフロップの入力端子がクロック端
子の場合には、前記第1の遅延時間をTcとし、前記フ
リップフロップのデータ端子を起点とし、データ信号を
駆動しているゲート回路の方向に後方トレースを行い、
到達した第2の外部入力端子と起点までの第2の遅延時
間を計算して前記第2の遅延時間をTdとし、 前記Tdから前記Tcを引いた値が、前記フリップフロ
ップのホールド時間より小さいか、又は、前記Tcから
前記Tdを引いた値が前記フリップフロップのセットア
ップ時間よりも小さい場合に、競合動作と判定すること
を特徴とする競合動作の判定方法。 - 【請求項2】前記後方トレースにおける、起点からトレ
ース途中のゲート回路までの遅延時間が、前記フリップ
フロップのクロック端子を起点とする場合には、前記T
dに前記フリップフロップのセットアップ時間を加算し
た値よりも大きい場合と、 前記フリップフロップのデータ端子を起点とする場合に
は、前記Tcに前記フリップフロップのホールド時間を
加算した値よりも大きい場合に、前記後方トレースを中
止することを特徴とする請求項1記載の競合動作の判定
方法。 - 【請求項3】外部からの外部入力端子間の遅延差を前記
遅延時間に挿入することを特徴とする請求項2記載の競
合動作の判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7317263A JP2914257B2 (ja) | 1995-11-10 | 1995-11-10 | 競合動作の判定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7317263A JP2914257B2 (ja) | 1995-11-10 | 1995-11-10 | 競合動作の判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09133738A JPH09133738A (ja) | 1997-05-20 |
JP2914257B2 true JP2914257B2 (ja) | 1999-06-28 |
Family
ID=18086295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7317263A Expired - Lifetime JP2914257B2 (ja) | 1995-11-10 | 1995-11-10 | 競合動作の判定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2914257B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100336907B1 (ko) * | 1998-07-17 | 2002-05-16 | 오우라 히로시 | 메모리 시험장치 |
JP5167740B2 (ja) * | 2007-09-20 | 2013-03-21 | 富士通セミコンダクター株式会社 | 設計支援プログラム、設計支援装置、および設計支援方法 |
-
1995
- 1995-11-10 JP JP7317263A patent/JP2914257B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09133738A (ja) | 1997-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216256B1 (en) | Semiconductor integrated circuit and method of designing the same | |
US6952812B2 (en) | Design analysis tool for path extraction and false path identification and method thereof | |
US20030009733A1 (en) | Reduced pessimism clock gating tests for a timing analysis tool | |
JP5024185B2 (ja) | 回路動作検証方法及び装置 | |
US6141631A (en) | Pulse rejection circuit model program and technique in VHDL | |
JP2914257B2 (ja) | 競合動作の判定方法 | |
US20050177357A1 (en) | Static timing model for combinatorial gates having clock signal input | |
US6111898A (en) | Method of establishing when to propagate the output of a multiplexer | |
JP3123982B2 (ja) | 論理シミュレーション方法 | |
JP2674142B2 (ja) | 論理回路の動作検証方法 | |
JP2002259488A (ja) | クロックスキュー検証方法 | |
JP5145167B2 (ja) | クロックドメインチェック方法及びクロックドメインチェック用プログラム並びに記録媒体 | |
JP2853619B2 (ja) | 論理遅延シミュレーション方法 | |
JP3085277B2 (ja) | 遅延解析システム | |
JP2001155043A (ja) | 論理シミュレーションにおけるタイミングチェック方法およびタイミングチェック方法を記録した記録媒体 | |
JP2002259487A (ja) | 多電源回路シミュレーション方法及び装置 | |
JP2984522B2 (ja) | 回路検証システム | |
JP3077617B2 (ja) | 遅延シミュレータ | |
JP3036454B2 (ja) | タイミング検証方法及び装置 | |
JP2624135B2 (ja) | タイミング解析方法 | |
JP2996153B2 (ja) | Asic検証方法 | |
JP2785708B2 (ja) | 論理シミュレーション方法 | |
JP2990813B2 (ja) | 故障シミュレーション方法 | |
JP3087319B2 (ja) | タイミング検証システム | |
JPH06243190A (ja) | 論理シミュレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990316 |