JP2868009B1 - 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体 - Google Patents

遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体

Info

Publication number
JP2868009B1
JP2868009B1 JP10019914A JP1991498A JP2868009B1 JP 2868009 B1 JP2868009 B1 JP 2868009B1 JP 10019914 A JP10019914 A JP 10019914A JP 1991498 A JP1991498 A JP 1991498A JP 2868009 B1 JP2868009 B1 JP 2868009B1
Authority
JP
Japan
Prior art keywords
delay
clock skew
register
calculating
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.)
Expired - Fee Related
Application number
JP10019914A
Other languages
English (en)
Other versions
JPH11219382A (ja
Inventor
拓己 長谷川
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 Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP10019914A priority Critical patent/JP2868009B1/ja
Priority to US09/239,540 priority patent/US6341363B1/en
Application granted granted Critical
Publication of JP2868009B1 publication Critical patent/JP2868009B1/ja
Publication of JPH11219382A publication Critical patent/JPH11219382A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【要約】 【課題】 複数の論理パスの中からクリティカルパスを
正確に求めることができる遅延算出装置を提供する。 【解決手段】 クロック信号入力と他の信号入力とによ
り出力が確定するレジスタを複数有する論理回路1に含
まれる複数の論理パスの遅延時間を算出する遅延算出装
置において、2つのレジスタからなる複数の組を、該組
を構成するレジスタ間のクロックスキュー値が含まれる
クロックスキュー値の範囲に応じてグループに区分する
レジスタ区分手段110と、このレジスタ区分手段11
0により区分されたグループ毎に該当するグループを区
分するために用いられたクロックスキュー値の範囲内の
所定値を用いて遅延時間を算出するトレース手段120
とを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は論理回路の遅延算出
装置、遅延算出方法および遅延算出用プログラムを記録
した記録媒体に関し、特に論理回路の遅延時間が最も大
きいパスを求める遅延算出装置、遅延算出方法および遅
延算出用プログラムを記録した記録媒体に関する。
【0002】
【従来の技術】従来この種の遅延算出装置では、1つの
始点から派生する複数の論理パスの全てを深さ優先探索
(Depth First Search、以下DFS
という)により一括してトレースしていた。すなわち、
論理回路に含まれる素子の遅延時間や配線の遅延時間を
用いて、複数の論理パスの終点のすべてをトレース対象
として一括してトレースを行いクリティカルパスを求め
ていた。しかしながら、このような従来の遅延算出装置
では真のクリティカルパスが求められるとは限らない。
現実の論理パスの遅延時間には従来のトレースでは求め
られない要素が含まれているためである。このような要
素として、例えば、クロックスキューがある。
【0003】この種の遅延算出装置の一例が、特開平5
−189511号公報に記載されている。該公報記載の
遅延算出装置では、互いに異なる複数のロジックからな
る論理回路において、論理パス中の送り側のFFと受け
側のFFとのロジックが異なる場合、この異なるロジッ
クの組み合わせに応じてクロック間スキュー値テーブル
に登録されているクロック間スキュー値を参照して遅延
時間を求めている。
【0004】
【発明が解決しようとする課題】上述の従来の遅延算出
装置は、異なる論理回路のクロック間のクロックスキュ
ーを考慮したクリティカルパスは求めることができる
が、同一論理内において、レジスタ間のクロックスキュ
ーが異なる場合には、クリティカルパスを求めることが
できないという問題がある。
【0005】例えば、第1のレジスタと第2のレジスタ
とを含む論理パスでは、単に第1のレジスタから第2の
レジスタに至るパスの遅延時間を求めても、必ずしも真
の遅延時間は求められない。第1のレジスタに供給され
るクロックと第2のレジスタに供給されるクロックとの
間にクロックスキューが生じている場合、該クロックス
キューにより真の遅延時間が変わるためである。たいて
いの場合、レジスタが複数あれば、各レジスタにクロッ
クを供給するクロックパスもそれぞれ異なるので、レジ
スタ間のクロックスキューが生じている。
【0006】本発明の目的は、複数の論理パスの中から
クリティカルパスを正確に求めることができる遅延算出
装置を提供することにある。
【0007】本発明の他の目的は、論理パス中に含まれ
る複数のレジスタ間にクロックスキューが生じている場
合に、該論理パスの真の遅延時間を求めることができる
遅延算出装置を提供することにある。
【0008】
【課題を解決するための手段】本発明の遅延算出装置
は、クロック信号入力と他の信号入力とにより出力が確
定する素子を複数有する論理回路に含まれる複数の論理
パスの遅延時間を算出する遅延算出装置であって、前記
論理回路の情報を格納する第1の記憶手段と、前記複数
の素子を2つずつ組にして得られる複数の組を、該組を
構成する前記素子間のクロックスキュー値が含まれる範
囲に応じてグループに区分する区分手段と、この区分手
段により区分されたグループ毎に、該当するグループの
区分に用いた前記範囲内の所定のクロックスキュー値と
前記第1の記憶手段に記憶された回路情報とを使用して
遅延時間を算出する算出手段とを含むことを特徴とす
る。
【0009】また、本発明の他の遅延算出装置は、前記
複数の論理パスに含まれる2つの前記素子の組毎にそれ
らの間のクロックスキュー値を登録する第2の記憶手段
を含み、前記区分手段は前記第2の記憶手段に登録され
た前記クロックスキュー値を用いて区分することを特徴
とする。
【0010】さらに、本発明の他の遅延算出装置は、前
記組は1つの論理パスを形成するとともに近接した2つ
の前記素子からなることを特徴とする。
【0011】また、本発明の他の遅延算出装置は、前記
算出手段は前記所定値として前記クロックスキュー値の
範囲の上限値を用いることを特徴とする。
【0012】さらに、本発明の他の遅延算出装置は、前
記算出手段は前記所定値として前記クロックスキュー値
の範囲の下限値を用いることを特徴とする。
【0013】また、本発明の他の遅延算出装置は、前記
クロックスキュー値の範囲の幅は一定であることを特徴
とする。
【0014】さらに、本発明の他の遅延算出装置は、前
記クロックスキュー値の範囲は所望の領域の幅を他に比
べて変化させたことを特徴とする。
【0015】また、本発明の他の遅延算出装置は、前記
算出手段は、1つの始点から始まる複数の論理パスにつ
いて前記区分毎に算出した遅延時間を用いて該区分毎の
クリティカルパスを求め、複数の区分の各々の前記クリ
ティカルパスのうち最大の遅延時間を有するものを前記
始点から始まる論理パスのクリティカルパスと決定する
手段を含むことを特徴とするさらに、本発明の他の遅延
算出装置は、前記算出手段は、1つの始点から始まる複
数の論理パスについて前記区分毎に算出した遅延時間を
用いて該区分毎のクリティカルパスを求め、複数の区分
の各々の前記クリティカルパスのうち最小の遅延時間を
有するものを前記始点から始まる論理パスのクリティカ
ルパスと決定する手段を含む。
【0016】また、本発明の他の遅延算出装置は、論理
回路が前記素子が少なくとも3つ連結された論理パスを
含む場合には、該論理回路を始点となるレジスタとこの
レジスタの後段に隣接して接続された少なくとも1つの
前記素子とからなる回路に分割することを特徴とする。
【0017】さらに、本発明の他の遅延算出装置は、始
点のレジスタと終点のレジスタとからなる論理パスを複
数有する論理回路の回路情報を記憶する記憶手段を有
し、該記憶手段に記憶された前記回路情報を用いて遅延
時間を算出する遅延算出装置において、始点のレジスタ
と終点のレジスタとのクロックスキューの値に応じて前
記複数の論理パスの各々を複数のグループに区分する区
分手段と、この区分手段により区分された複数のグルー
プ毎に当該グループに含まれる論理パスのトレースを行
いクリティカルパスを求めるトレース手段とを含む。
【0018】本発明の遅延算出方法は、クロック信号入
力と他の信号入力とにより出力が確定する素子を複数有
する論理回路の情報が格納された記憶手段の内容を用い
て該論理回路に含まれる複数の論理パスの遅延時間を算
出する遅延算出方法において、前記複数の素子を2つず
つ組にして得られる複数の組を、該組を構成する前記素
子間のクロックスキュー値が含まれる範囲に応じてグル
ープに区分し、区分されたグループ毎に該当するグルー
プの区分のために用いた前記範囲内の所定のクロックス
キュー値と前記記憶手段に記憶された前記論理回路の情
報とを使用して遅延時間を算出することを特徴とする。
【0019】本発明の遅延算出用プログラムを登録した
記録媒体は、クロック信号入力と他の信号入力とにより
出力が確定する複数の素子を2つずつ組にし、該組を構
成する前記素子間のクロックスキュー値が含まれる範囲
に応じてグループに区分する区分処理と、論理回路の回
路情報が格納された記憶手段から該回路情報を読み出
し、前記区分処理により区分されたグループ毎に該当す
るグループの区分のために用いられた前記範囲内の所定
のクロックスキュー値と前記回路情報とを使用して遅延
時間を算出する算出処理とをコンピュータに実行させる
ためのプログラムを記録したことを特徴とする。
【0020】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0021】図1を参照すると、本実施の形態において
対象とする論理回路1は、始点となるレジスタとこのレ
ジスタの後段に隣接して接続された少なくとも1つのレ
ジスタとから構成されている。論理回路1は、レジスタ
11、12、13および14と、ディレーゲート21お
よび24と、NOT23および24とからなる。本実施
の形態において、論理回路1は説明のための一例であ
り、その論理に特別な意味はない。ディレーゲート21
および24と、NOT23および24はクロック信号に
よって出力が確定するものでなければいずれの素子であ
ってもよい。
【0022】本実施の形態では論理回路1の始点はレジ
スタ11である。レジスタ11の出力は配線31により
ディレーゲート21の入力に接続されている。ディレー
ゲート21の出力は、配線32によりNOT22、ディ
レーゲート23およびNOT24のそれぞれの出力に接
続されている。NOT22の出力は配線33によりレジ
スタ12の入力に接続されている。ディレーゲート23
の出力は配線34によりレジスタ13の入力に接続され
ている。NOT24の出力は配線35によりレジスタ1
4の入力に接続されている。
【0023】論理回路に含まれる論理パス中に複数のレ
ジスタが連なっている場合には、図1の論理回路1のよ
うな回路に分割する。すなわち、始点となるレジスタと
このレジスタの後段に近接して接続された少なくとも1
つのレジスタとからなる回路に分割してトレースを行
う。
【0024】図2を参照すると、トレースを行うため、
論理回路1はグラフ2のように表現される。グラフ2で
は、論理回路1のピンはノードとして、配線および素子
内の信号の流れはアークとして表されている。グラフ2
は、ノード4−1、4−2、・・・、4−11および4
−12と、アーク5−1、5−2、・・・、5−10お
よび5−11とからなる。
【0025】図3を参照すると、本発明の第1の実施の
形態は、プログラム制御により動作するコンピュータ1
00と、記憶装置200とから構成されている。記憶装
置200はコンピュータ100に接続されている。記憶
手段200は、回路情報格納手段210と、スキュー値
格納手段220と、レジスタ区分格納手段230とを格
納している。
【0026】コンピュータ100は、レジスタ区分手段
110と、トレース手段102とを含む。
【0027】レジスタ区分手段110は、論理回路1に
含まれる複数の論理パスを各レジスタ間のクロックスキ
ュー値に応じて複数のグループに区分する。より詳細に
は、レジスタ区分手段110は、記憶手段200のスキ
ュー値格納手段220に格納されたクロックスキュー値
を参照し、始点のレジスタと終点のレジスタとからなる
複数の組の各々をそのレジスタ間のクロックスキュー値
に応じて所定の範囲毎に区分する。本実施の形態では区
分を行うためのクロックスキュー値の範囲の幅は一定で
ある。区分された各レジスタの始点と終点との組は、レ
ジスタ区分手段110により記憶手段200のレジスタ
区分格納手段230に格納される。
【0028】トレース手段120は、レジスタ区分手段
110により区分された論理パスを各区分に含まれるも
の毎にトレースする。より詳細には、トレース手段12
0は、記憶手段200の回路情報格納手段210に格納
された論理回路1の情報を用いて、レジスタ区分格納手
段230に格納された複数の区分に属するレジスタの組
毎にトレースを行う。各区分での遅延時間算出において
は、当該区分を規定するクロックスキュー値の範囲の最
大値を用いる。トレース手段120は、各区分毎に遅延
時間が最も大きい論理パスを求め、全区分の最大遅延時
間を有する複数の論理パスのうち最も大きいものをクリ
ティカルパスと決定する。
【0029】記憶手段200において、回路情報格納手
段210は、論理回路1の情報を格納する。回路格納手
段210に格納される論理回路の情報として、論理回路
に含まれる素子の情報と配線の情報とがある。回路情報
格納手段210は、素子の情報が登録されたノードテー
ブル211と、配線の情報が登録されたアークテーブル
212とを格納する。
【0030】図4を参照すると、ノードテーブル211
は、ノード識別子が登録されたフィールド2111と、
入力方向アークが登録されたフィールド2112と、出
力方向アークが登録されたフィールド2113と、付加
遅延時間が登録されたフィールド2114と、ピン名が
登録されたフィールド2115とを有する。付加遅延時
間はピン自身が有する遅延時間である。
【0031】図5を参照すると、アークテーブル212
は、アーク識別子が登録されたフィールド2121と、
入力方向ノードが登録されたフィールド2122と、出
力方向ノードが登録されたフィールド2123と、同じ
入力ノードのアークが登録されたフィールド2124
と、同じ出力ノードのアークが登録されたフィールド2
125と、遅延時間が登録されたフィールド2126
と、素子遅延時間が登録されたフィールド2127と、
素子名が登録されたフィールド2128と、配線名が登
録されたフィールド2129とを有する。
【0032】スキュー値格納手段220は、各レジスタ
間のクロックスキュー値が登録されたスキュー値テーブ
ル221を格納する。
【0033】図6を参照すると、スキュー値テーブル2
21には、論理回路1の各レジスタ同士をつなぐ全ての
レジスタの組のクロックスキュー値が登録されている。
【0034】レジスタ区分格納手段230は、レジスタ
区分手段110により区分された複数のレジスタの区分
結果が登録されたレジスタ区分テーブル231を格納す
る。
【0035】図7を参照すると、本実施の形態では、レ
ジスタ区分テーブル231には、レジスタ区分手段11
0によって区分された結果が登録されている。
【0036】次に、本実施の形態の全体の動作について
詳細に説明する。
【0037】図3および8を参照すると、ステップA1
において、コンピュータ100のレジスタ区分手段11
0は、記憶手段200のスキュー値格納手段220に格
納されたクロックスキュー値を用いて各論理パスを構成
するレジスタの組を区分する。レジスタ区分手段110
は、区分した結果を記憶手段200のレジスタ区分格納
手段230に格納する(ステップA2)。
【0038】ステップA3において、コンピュータ10
0のトレース手段120は、記憶手段200のレジスタ
区分格納手段230の内容に応じて各区分ごとにトレー
スを行う。トレース方法には、例えば、DFSがある。
【0039】次にトレース手段120の動作について説
明する。
【0040】図9を参照すると、ステップB1におい
て、トレース手段120は複数の始点の全てのトレース
が終了したか否かを判別する。複数の始点の全てのトレ
ースが終了していないと判別した場合には、まだトレー
スが終了していない始点を1つ選択する(ステップB
2)。
【0041】ステップB3において、トレース手段12
0は選択した始点から始まる複数の論理パスからなる複
数の区分のすべてのトレースが終了したか否かを判別す
る。すべての区分のトレースが終了していないと判別し
た場合、まだトレースされていない区分を1つ選択する
(ステップB4)。ステップB5において、トレース手
段120は当該区分に含まれるレジスタの組のグループ
を該区分をトレースする。このとき、遅延算出に用いら
れるクロックスキュー値は、当該区分を規定するクロッ
クスキュー値の範囲の上限値である。トレース手段12
0は、トレースにより求められた当該区分に含まれる複
数の論理パスの各々の遅延時間のうち最大のものを、こ
の区分のクリティカルパスと決定する(ステップB
6)。ステップB3〜B6は、全ての区分のトレースが
終了するまで繰り返される。
【0042】ステップB3において、トレース手段12
0が複数の区分の全てのトレースが終了したと判別した
場合には、当該始点から始まる複数の区分の各々のクリ
ティカルパスのうち最大の遅延時間を有するものを、こ
の始点から始まるクリティカルパスと決定する(ステッ
プB7)。始点から始まるクリティカルパスが決定され
たのち、ステップB1に移行する。ステップB1におい
て、トレース手段が複数の始点の全てのトレースが終了
したと判別した場合には、処理を終了する。
【0043】次に、本実施の形態の動作をより具体的に
説明する。
【0044】図7を参照すると、レジスタ区分手段11
0は、クロックスキュー値が0以上3未満のものを区分
G1、クロックスキュー値が3以上6未満のものを区分
G2、クロックスキュー値が6以上9未満のものを区分
G3と区分する。クロックスキュー値が9以上の場合も
同様にして区分される。これにより、区分G1には、レ
ジスタ11とレジスタ12との組、レジスタ11とレジ
スタ13との組およびレジスタ12とレジスタ14との
組が含まれる。区分G2にはレジスタ11とレジスタ1
4との組、レジスタ12とレジスタ13との組およびレ
ジスタ13とレジスタ14との組が含まれる。区分G3
以降の区分にはいずれの論理パスも含まれない。
【0045】トレース手段120は区分G1を選択す
る。区分G1では、遅延時間の計算に用いられるクロッ
クスキュー値は2である。トレース手段120は、トレ
ースによりレジスタ11からレジスタ12までのパスと
レジスタ11からレジスタ13までのパスとが含まれて
いることを求める。
【0046】レジスタ11からレジスタ12までのパス
では、遅延時間は、(ノード4−1の遅延時間+アーク
5−1の遅延時間+ノード4−2の遅延時間+アーク5
−2の遅延時間+ノード4−3の遅延時間+アーク5−
3の遅延時間+ノード4−4の遅延時間+アーク5−4
の遅延時間+ノード4−5の遅延時間+アーク5−5の
遅延時間+ノード4−6の遅延時間+区間1の上限スキ
ュー値)=1+1+0+1+0+1+0+2+0+1+
1+2=10と求められる。
【0047】レジスタ11からレジスタ13までのパス
では、遅延時間は、(ノード4−1の遅延時間+アーク
5−1の遅延時間+ノード4−2の遅延時間+アーク5
−2の遅延時間+ノード4−3の遅延時間+アーク5−
6の遅延時間+ノード4−7の遅延時間+アーク5−7
の遅延時間+ノード4−8の遅延時間+アーク5−8の
遅延時間+ノード4−9の遅延時間+区間1の上限スキ
ュー値)=1+1+0+1+0+1+0+0.5+0+
0.5+0.5+2=7.5と求められる。ステップB
6において、レジスタ11からレジスタ12までのパス
とレジスタ11からレジスタ13までのパスとでは、レ
ジスタ11からレジスタ12までのパスの方が遅延時間
が大きいので、区分G1ではレジスタ11からレジスタ
12までのパスをクリティカルパスと決定する。
【0048】次に、トレース手段120は区分G2を選
択する。区分G2では、遅延時間の算出に用いられるク
ロックスキュー値は5である。トレース手段120は区
分G2にはレジスタ11からレジスタ14までのパスが
含まれていることをトレースにより求める。
【0049】レジスタ11からレジスタ14までのパス
では、遅延時間は、(ノード4−1の遅延時間+アーク
5−1の遅延時間+ノード4−2の遅延時間+アーク5
−2の遅延時間+ノード4−3の遅延時間+アーク5−
9の遅延時間+ノード4−10の遅延時間+アーク5−
10の遅延時間+ノード4−11の遅延時間+アーク5
−11の遅延時間+ノード4−12の遅延時間+区間1
の上限スキュー値)=1+1+0+1+0+1+0+
0.3+0+0.3+0.5+5=10.1と求められ
る。区分G2にはレジスタ11からレジスタ14までの
パスだけしか含まれていないため、トレース手段120
はこのパスをクリティカルパスと決定する。
【0050】レジスタ11を始点とする論理回路1に
は、区分G1およびG2の2つの区分だけしか含まれて
いないため、ステップC3に移行したとき、トレース手
段120はすべての区分のトレースが終了したと判別す
る。ステップB7において、トレース手段120は、区
分G1およびG2のそれぞれのクリティカルパスを比較
し、最も遅延時間が大きいレジスタ11からレジスタ1
4までのパスをクリティカルパスと決定する。論理回路
1に含まれる始点はレジスタ11だけであるため、トレ
ース手段120は処理を終了する。
【0051】本実施の形態では、レジスタの組をクロッ
クスキューの値に応じて複数のグループに区分するレジ
スタ区分手段110と、このレジスタ区分手段110に
よる区分ごとにトレースを行うトレース手段120とを
設けたため、クロックスキューを含めた真の遅延時間を
求めることができ、この結果、真のクリティカルパスを
求めることができる。より具体的には、従来のトレース
方法では、レジスタ11からレジスタ12までのパスの
遅延時間を1+1+0+1+0+1+0+2+0+1+
1=8、レジスタ11からレジスタ14までのパスの遅
延時間を1+1+0+1+0+1+0+0.3+0+
0.3+0.5=5.1と求め、クリティカルパスをレ
ジスタ11からレジスタ12のパスと決定していた。こ
れに対し、本実施の形態ではクリティカルパスをレジス
タ11からレジスタ13にいたるパスとして正確に決定
することができる。
【0052】次に、本発明の第2の実施の形態について
図面を参照して詳細に説明する。
【0053】第2の実施の形態の特徴は、トレース手段
120が最大の遅延時間を有するクリティカルパスだけ
でなく、最小の遅延時間を有するクリティカルパスをも
求める点にある。その他の構成は、第1の実施の形態と
同様である。
【0054】図9を参照すると、ステップB5におい
て、トレース手段120は、区分を規定するクロックス
キュー値の範囲の上限値を用いて遅延時間を算出するだ
けでなく、区分の範囲を規定する下限値を用いた遅延時
間の算出をも行う。ステップB6では、選択した区分の
最大の遅延時間を有する論理パスのみならず、最小の遅
延時間を有する論理パスをもクリティカルパスとして決
定する。
【0055】ステップB3において、全ての区分のトレ
ースが終了したと判別された場合、トレース手段120
は複数の区分の各々のクリティカルパスの中から最大の
遅延時間を有するものを最大の遅延時間を有するクリテ
ィカルパスと決定する。また、トレース手段120は、
複数の区分の各々のクリティカルパスの中から最小の遅
延時間を有するものを最小の遅延時間を有するクリティ
カルパスと決定する。
【0056】本実施の形態では、トレース手段120が
トレースを行うときに区分の範囲を規定する下限値を用
いた遅延時間の算出をも行うため、最大の遅延時間を有
するクリティカルパスと最小の遅延時間を有するクリテ
ィカルパスとを同時に求めることができる。
【0057】次に、本発明の第3の実施の形態について
図面を参照して詳細に説明する。
【0058】図10を参照すると、本発明の第3の実施
の形態は、コンピュータ300と、記憶装置200と、
遅延算出用プログラムを記録した記録媒体400とを備
える。この記録媒体400は磁気ディスク、半導体メモ
リその他の記録媒体であってよい。
【0059】遅延算出用プログラムは記録媒体400か
らコンピュータ300に読み込まれ、コンピュータ30
0の動作を制御する。コンピュータ300は遅延算出用
プログラムの制御により以下の処理、すなわち第1の実
施の形態におけるコンピュータ100による処理と同一
の処理、を実行する。
【0060】まず、コンピュータ300は、記憶手段2
00のスキュー値格納手段220に格納されたクロック
スキュー値を参照し、2つのレジスタからなる複数の組
の各々をそのレジスタ間のクロックスキュー値に応じて
所定の範囲毎に区分するレジスタ区分処理を行う。次
に、コンピュータ300は、レジスタの組の各々が区分
された結果を記憶手段200のレジスタ区分格納手段2
30に格納する処理を行う。コンピュータ300は、さ
らに、記憶手段200の回路情報格納手段210に格納
された論理回路1の情報を用いて、レジスタ区分格納手
段230に格納された複数の区分に属するレジスタの組
毎にトレースを行うトレース処理を行う。このトレース
処理では、各区分毎に遅延時間が最も大きい論理パスを
求め、全区分の最大遅延時間を有する複数の論理パスの
うち最も大きいものがクリティカルパスと決定される。
【0061】本実施の形態では、クロックスキューの影
響により遅延時間が変化する素子としてレジスタが適用
された場合について示したが、クロック信号と他の信号
とが入力されることにより出力が確定するような素子で
あればいかなる素子であっても適用できる。
【0062】本実施の形態では、レジスタの組を区分す
るために用いられるクロックスキュー値の範囲は一定の
幅を有するものとしたが、幅が可変であっても適用でき
る。遅延時間を詳細に求めたい領域においてクロックス
キュー値の範囲の幅を小さく設定すればよい。例えば、
遅延時間が最大のクリティカルパスを求める場合には、
クロックスキュー値が大きくなるにつれて幅が小さくな
るようにすればよい。逆に、遅延時間が最小のクリティ
カルパスを求める場合には、クロックスキュー値が小さ
くなるにつれて幅が小さくなるようにすればよい。
【0063】
【発明の効果】以上の説明で明らかなように、本発明で
は、レジスタの組をクロックスキューの値に応じて複数
のグループに区分するレジスタ区分手段と、このレジス
タ区分手段による区分ごとにトレースを行うトレース手
段とを設けたため、クロックスキューを含めた真の遅延
時間を求めることができ、この結果、真のクリティカル
パスを求めることができる。
【図面の簡単な説明】
【図1】本発明において対象とする論理回路1を示すブ
ロック図である。
【図2】本発明の第1の実施の形態の論理回路1に対応
するグラフ2を示す図である。
【図3】本発明の第1の実施の形態の構成を示すブロッ
ク図である。
【図4】本発明の第1の実施の形態のノードテーブル2
11を示す図である。
【図5】本発明の第1の実施の形態のアークテーブル2
12を示す図である。
【図6】本発明の第1の実施の形態のスキュー値テーブ
ル221を示す図である。
【図7】本発明の第1の実施の形態のレジスタ区分テー
ブル231を示す図である。
【図8】本発明の第1の実施の形態の動作を示す流れ図
である。
【図9】本発明の第1の実施の形態のトレース手段12
0の動作を示すフローチャートである。
【図10】本発明の第2の実施の形態の構成を示すブロ
ック図である。
【符号の説明】
100、300 コンピュータ 110 レジスタ区分分類手段110 120 トレース手段 200 記憶装置 210 回路情報格納手段 220 スキュー値格納手段 230 レジスタ区分格納手段 400 記録媒体

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】 クロック信号入力と他の信号入力とによ
    り出力が確定する素子を複数有する論理回路に含まれる
    複数の論理パスの遅延時間を算出する遅延算出装置にお
    いて、 前記論理回路の情報を格納する第1の記憶手段と、 前記複数の素子を2つずつ組にして得られる複数の組
    を、該組を構成する前記素子間のクロックスキュー値が
    含まれる範囲に応じてグループに区分する区分手段と、 この区分手段により区分されたグループ毎に、該当する
    グループの区分に用いた前記範囲内の所定のクロックス
    キュー値と前記第1の記憶手段に記憶された回路情報と
    を使用して遅延時間を算出する算出手段とを含むことを
    特徴とする遅延算出装置。
  2. 【請求項2】 前記複数の論理パスに含まれる2つの前
    記素子の組毎にそれらの間のクロックスキュー値を登録
    する第2の記憶手段を含み、前記区分手段は前記第2の
    記憶手段に登録された前記クロックスキュー値を用いて
    区分することを特徴とする請求項1記載の遅延算出装
    置。
  3. 【請求項3】 前記組は1つの論理パスを形成するとと
    もに近接した2つの前記素子からなることを特徴とする
    請求項1記載の遅延算出装置。
  4. 【請求項4】 前記算出手段は前記所定値として前記ク
    ロックスキュー値の範囲の上限値を用いることを特徴と
    する請求項1記載の遅延算出装置。
  5. 【請求項5】 前記算出手段は前記所定値として前記ク
    ロックスキュー値の範囲の下限値を用いることを特徴と
    する請求項1記載の遅延算出装置。
  6. 【請求項6】 前記クロックスキュー値の範囲の幅は一
    定であることを特徴とする請求項1記載の遅延算出装
    置。
  7. 【請求項7】 前記クロックスキュー値の範囲は所望の
    領域の幅を他に比べて変化させたことを特徴とする請求
    項1記載の遅延算出装置。
  8. 【請求項8】 前記算出手段は、1つの始点から始まる
    複数の論理パスについて前記区分毎に算出した遅延時間
    を用いて該区分毎のクリティカルパスを求め、複数の区
    分の各々の前記クリティカルパスのうち最大の遅延時間
    を有するものを前記始点から始まる論理パスのクリティ
    カルパスと決定する手段を含むことを特徴とする請求項
    1記載の遅延算出装置。
  9. 【請求項9】 前記算出手段は、1つの始点から始まる
    複数の論理パスについて前記区分毎に算出した遅延時間
    を用いて該区分毎のクリティカルパスを求め、複数の区
    分の各々の前記クリティカルパスのうち最小の遅延時間
    を有するものを前記始点から始まる論理パスのクリティ
    カルパスと決定する手段を含むことを特徴とする請求項
    1記載の遅延算出装置。
  10. 【請求項10】 論理回路が前記素子が少なくとも3つ
    連結された論理パスを含む場合には、該論理回路を始点
    となるレジスタとこのレジスタの後段に隣接して接続さ
    れた少なくとも1つの前記素子とからなる回路に分割す
    ることを特徴とする請求項1記載の遅延算出装置。
  11. 【請求項11】 始点のレジスタと終点のレジスタとか
    らなる論理パスを複数有する論理回路の回路情報を記憶
    する記憶手段を有し、該記憶手段に記憶された前記回路
    情報を用いて遅延時間を算出する遅延算出装置におい
    て、 始点のレジスタと終点のレジスタとのクロックスキュー
    の値に応じて前記複数の論理パスの各々を複数のグルー
    プに区分する区分手段と、 この区分手段により区分された複数のグループ毎に当該
    グループに含まれる論理パスのトレースを行いクリティ
    カルパスを求めるトレース手段とを含むことを特徴とす
    る遅延算出装置。
  12. 【請求項12】 クロック信号入力と他の信号入力とに
    より出力が確定する素子を複数有する論理回路の情報が
    格納された記憶手段の内容を用いて該論理回路に含まれ
    る複数の論理パスの遅延時間を算出する遅延算出方法に
    おいて、 前記複数の素子を2つずつ組にして得られる複数の組
    を、該組を構成する前記素子間のクロックスキュー値が
    含まれる範囲に応じてグループに区分し、区分されたグ
    ループ毎に該当するグループの区分のために用いた前記
    範囲内の所定のクロックスキュー値と前記記憶手段に記
    憶された前記論理回路の情報とを使用して遅延時間を算
    出することを特徴とする遅延算出方法。
  13. 【請求項13】 クロック信号入力と他の信号入力とに
    より出力が確定する複数の素子を2つずつ組にし、該組
    を構成する前記素子間のクロックスキュー値が含まれる
    範囲に応じてグループに区分する区分処理と、 論理回路の回路情報が格納された記憶手段から該回路情
    報を読み出し、前記区分処理により区分されたグループ
    毎に該当するグループの区分のために用いられた前記範
    囲内の所定のクロックスキュー値と前記回路情報とを使
    用して遅延時間を算出する算出処理とをコンピュータに
    実行させるためのプログラムを記録したことを特徴とす
    る記録媒体。
JP10019914A 1998-01-30 1998-01-30 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体 Expired - Fee Related JP2868009B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10019914A JP2868009B1 (ja) 1998-01-30 1998-01-30 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体
US09/239,540 US6341363B1 (en) 1998-01-30 1999-01-29 Delay computation apparatus, delay computation method, and storage medium for determining a path of a logic circuit with maximum or minimum delay times

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10019914A JP2868009B1 (ja) 1998-01-30 1998-01-30 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2868009B1 true JP2868009B1 (ja) 1999-03-10
JPH11219382A JPH11219382A (ja) 1999-08-10

Family

ID=12012492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10019914A Expired - Fee Related JP2868009B1 (ja) 1998-01-30 1998-01-30 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US6341363B1 (ja)
JP (1) JP2868009B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502224B2 (en) * 2001-04-12 2002-12-31 International Business Machines Corporation Method and apparatus for synthesizing levelized logic
US6647540B2 (en) * 2001-11-08 2003-11-11 Telefonaktiebolaget Lm Ericsson(Publ) Method for reducing EMI and IR-drop in digital synchronous circuits
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
JP4304124B2 (ja) * 2004-06-18 2009-07-29 パナソニック株式会社 半導体装置
US8261218B1 (en) * 2008-08-01 2012-09-04 Altera Corporation Systems and methods for determining beneficial clock-path connection delays
US9405871B1 (en) * 2014-12-05 2016-08-02 Xilinx, Inc. Determination of path delays in circuit designs

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6090150A (en) * 1991-12-28 2000-07-18 Nec Corporation Method of designing clock wiring and apparatus for implementing the same
JP2815746B2 (ja) 1992-01-10 1998-10-27 富士通株式会社 信号遅延時間チェック装置および信号遅延時間チェック方法
JP3210172B2 (ja) * 1994-05-13 2001-09-17 富士通株式会社 ディレイ・レーシング・エラーリスト出力装置
JP3351651B2 (ja) * 1995-04-07 2002-12-03 富士通株式会社 会話型回路設計装置
JP3352851B2 (ja) * 1995-07-31 2002-12-03 株式会社東芝 半導体集積回路装置の配線方法
JPH0962716A (ja) * 1995-08-18 1997-03-07 Sony Corp 回路設計方法及び回路設計装置
JP3001403B2 (ja) * 1995-09-29 2000-01-24 日本電気株式会社 論理回路のレイアウト方法
JPH10189746A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd Lsi論理回路の配線レイアウト方法
US6023767A (en) * 1997-05-05 2000-02-08 Intel Corporation Method for verifying hold time in integrated circuit design
US5828870A (en) * 1997-06-30 1998-10-27 Adaptec, Inc. Method and apparatus for controlling clock skew in an integrated circuit

Also Published As

Publication number Publication date
US6341363B1 (en) 2002-01-22
JPH11219382A (ja) 1999-08-10

Similar Documents

Publication Publication Date Title
US5659484A (en) Frequency driven layout and method for field programmable gate arrays
US6654938B2 (en) Delay characteristic analyzing method and delay characteristic analyzing system for a custom LSI
US20020049957A1 (en) Method of designing semiconductor integrated circuit device, and apparatus for designing the same
JPWO2001082145A1 (ja) クロストーク解析方法、それを用いた電子回路装置の設計乃至製造方法、及びそのための電子回路ライブラリの記録媒体
JP2868009B1 (ja) 遅延算出装置、遅延算出方法および遅延算出用プログラムを記録した記録媒体
US6317861B1 (en) Delay verification device for logic circuit and delay verification method therefor
US20200151299A1 (en) Testing system and testing method
US6000038A (en) Parallel processing of Integrated circuit pin arrival times
US5894421A (en) Method and apparatus for calculating slew rates and signal propagation times for signal waveforms
US6072948A (en) Device for rapid simulation of logic circuits
US7185299B1 (en) Methods of estimating routing delays during the placement process in programmable logic devices
JP2000099561A (ja) 半導体装置の電源電圧変動解析装置
JPH07239865A (ja) 論理シミュレータ
JP2000011027A (ja) 設計支援方法及び装置
JP3614811B2 (ja) 組合せ論理回路における故障伝搬経路推定システム及び方法並びにプログラム
US7120829B2 (en) Failure propagation path estimate system
JPH11224902A (ja) ネット分類方法、ネット分類装置、および当該方法のプログラムを記録したコンピュータで読取り可能な記録媒体
JP3102408B2 (ja) 信号遅延低減方法及び装置
JPH0954787A (ja) 回路シミュレーション装置
JP2006171818A (ja) クロストーク検証装置およびクロストーク検証方法
JPH09179895A (ja) 回路解析装置
JP2996153B2 (ja) Asic検証方法
US20040210689A1 (en) Timing information generating apparatus
JP3087319B2 (ja) タイミング検証システム
JP2786017B2 (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: 19981124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071225

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081225

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091225

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091225

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101225

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101225

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111225

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees