JPH06119411A - 論理回路の遅延経路探索方法 - Google Patents
論理回路の遅延経路探索方法Info
- Publication number
- JPH06119411A JPH06119411A JP4266946A JP26694692A JPH06119411A JP H06119411 A JPH06119411 A JP H06119411A JP 4266946 A JP4266946 A JP 4266946A JP 26694692 A JP26694692 A JP 26694692A JP H06119411 A JPH06119411 A JP H06119411A
- Authority
- JP
- Japan
- Prior art keywords
- route search
- delay
- route
- block
- input
- 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.)
- Granted
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】全入力端子毎の最大または最小遅延経路である
クリティカルパスを高速に求める。 【構成】回路に対する解析例として入力端子21,2
2、ANDゲートG1〜G4(23〜26)、出力端子
27,28をもつ回路で、ゲートあるいは出力端子に対
して持たれる情報の出力端子テーブル43〜48を備
え、ここにその地点までの最大または最小の遅延値と、
その経路がブロックのどの入力から出力に至るこの情報
とを有している。例えば出力端子テーブル46から入力
端子A,Bの両始点から至る最大または最小遅延をもつ
経路は両方ともG3の下側の入力からの経路であること
を示している。経路の検索は、この情報を利用して全入
力からのクリティカルパスを各ゲートに対し一度の探索
で可能としている。
クリティカルパスを高速に求める。 【構成】回路に対する解析例として入力端子21,2
2、ANDゲートG1〜G4(23〜26)、出力端子
27,28をもつ回路で、ゲートあるいは出力端子に対
して持たれる情報の出力端子テーブル43〜48を備
え、ここにその地点までの最大または最小の遅延値と、
その経路がブロックのどの入力から出力に至るこの情報
とを有している。例えば出力端子テーブル46から入力
端子A,Bの両始点から至る最大または最小遅延をもつ
経路は両方ともG3の下側の入力からの経路であること
を示している。経路の検索は、この情報を利用して全入
力からのクリティカルパスを各ゲートに対し一度の探索
で可能としている。
Description
【0001】
【産業上の利用分野】本発明は論理回路の最大または最
小遅延経路を探索する経路探索方法。
小遅延経路を探索する経路探索方法。
【0002】
【従来の技術】従来、この種の論理回路の経路探索方法
では、各経路探索上の始点毎に最大または最小経路の遅
延を求める場合、与えられた経路探索の始点の集合から
任意の始点を選択し、選択された始点から経路探索の終
点に対して経路を探索し最大または最小遅延経路を求
め、この処理を経路探索の始点毎に行っている。この方
法を以下に説明する。なお、この説明では便宜上経路探
索上の始点を論理回路の外部入力端子または外部双方向
端子またはブロックの入力・出力端子から回路のファン
アウト方向(ブロックの出力端子から接続されているブ
ロックの入力端子方向)に経路探索を行うものとしてい
る。
では、各経路探索上の始点毎に最大または最小経路の遅
延を求める場合、与えられた経路探索の始点の集合から
任意の始点を選択し、選択された始点から経路探索の終
点に対して経路を探索し最大または最小遅延経路を求
め、この処理を経路探索の始点毎に行っている。この方
法を以下に説明する。なお、この説明では便宜上経路探
索上の始点を論理回路の外部入力端子または外部双方向
端子またはブロックの入力・出力端子から回路のファン
アウト方向(ブロックの出力端子から接続されているブ
ロックの入力端子方向)に経路探索を行うものとしてい
る。
【0003】図7は従来例の遅延経路探索を説明するフ
ローチャートであり、S1〜S8がステップ1〜8に対
応している。
ローチャートであり、S1〜S8がステップ1〜8に対
応している。
【0004】ステップ1: 任意の経路探索の始点を1
つ選択し、端子に与えられた入力端子に対して初期遅延
値を設定する。 ステップ2: 得られた始点と終点の間に存在する経路
を含む論理回路を全体の回路から切り出す。
つ選択し、端子に与えられた入力端子に対して初期遅延
値を設定する。 ステップ2: 得られた始点と終点の間に存在する経路
を含む論理回路を全体の回路から切り出す。
【0005】ステップ3: 遅延値がブロックの出力端
子に設定されているものに対して、ファンアウト方向に
遅延を伝搬する。この際定義されていた配線遅延を加算
する。これを全て遅延値が設定されている出力端子に対
して繰返す。
子に設定されているものに対して、ファンアウト方向に
遅延を伝搬する。この際定義されていた配線遅延を加算
する。これを全て遅延値が設定されている出力端子に対
して繰返す。
【0006】ステップ4:全てのブロックの入力端子に
遅延が伝搬したブロックにおいて、切出された回路に含
まれる全ての入力端子に遅延が伝搬された場合、各入力
端子から出力端子までの遅延が最も大きいもしくは小さ
い遅延をもつブロックの入出力間の遅延の組み合わせを
選択し、この遅延値を加算して出力端子に対して伝搬す
る。この際出力の論理値が一つ以上ある場合には個々の
論理値に対して最大もしくは最小の遅延値を選択して遅
延を出力端子に伝搬する。この際遅延が伝搬した入力端
子のid(端子名もしくは入力端子を示す認識番号)と
論理値を出力端子に設けたテーブルに格納する。全ての
入力端子に遅延が伝搬されない場合は、遅延伝搬される
まで保持される。
遅延が伝搬したブロックにおいて、切出された回路に含
まれる全ての入力端子に遅延が伝搬された場合、各入力
端子から出力端子までの遅延が最も大きいもしくは小さ
い遅延をもつブロックの入出力間の遅延の組み合わせを
選択し、この遅延値を加算して出力端子に対して伝搬す
る。この際出力の論理値が一つ以上ある場合には個々の
論理値に対して最大もしくは最小の遅延値を選択して遅
延を出力端子に伝搬する。この際遅延が伝搬した入力端
子のid(端子名もしくは入力端子を示す認識番号)と
論理値を出力端子に設けたテーブルに格納する。全ての
入力端子に遅延が伝搬されない場合は、遅延伝搬される
まで保持される。
【0007】ステップ5: 全ての遅延値が経路探索上
の終点まで伝搬したが否かを判定し伝搬していれば次の
ステップ6にすすみ、そうでなければステップ3に戻
る。 ステップ6: 経路探索で得られた任意の1つの始点と
経路探索の終点の経路を求める。これは各経路探索の終
点から経路の始点までブロックの出力端子に保存されて
いる、ブロックの入力端子idをもとに経路をトレース
し、経路情報をファイルもしくはメモリー上に保存す
る。 ステップ7: 全ての経路探索の始点が選択されたかを
判定し、選択されていれば次のステップ8にすすみ、そ
うでなければステップ1に戻る。 ステップ8: 全ての始点からの各終点までの経路情報
および遅延値を格納されたテーブルもしくはファイルか
ら各始点と各終点毎の最大もしくは最小遅延経路、およ
び論理値を求める。
の終点まで伝搬したが否かを判定し伝搬していれば次の
ステップ6にすすみ、そうでなければステップ3に戻
る。 ステップ6: 経路探索で得られた任意の1つの始点と
経路探索の終点の経路を求める。これは各経路探索の終
点から経路の始点までブロックの出力端子に保存されて
いる、ブロックの入力端子idをもとに経路をトレース
し、経路情報をファイルもしくはメモリー上に保存す
る。 ステップ7: 全ての経路探索の始点が選択されたかを
判定し、選択されていれば次のステップ8にすすみ、そ
うでなければステップ1に戻る。 ステップ8: 全ての始点からの各終点までの経路情報
および遅延値を格納されたテーブルもしくはファイルか
ら各始点と各終点毎の最大もしくは最小遅延経路、およ
び論理値を求める。
【0008】図8は従来の経路探索を説明する具体例の
回路図であり、この図により経路探索を行う場合を説明
する。図において21,22は外部入力端子A,B,2
3〜24はブロックG1〜G4、27,28は外部出力
端子X,Yを示している。入力端子A,Bから出力端子
X,Yに対してそれぞれの最大遅延経路を探索する場合
とし、ブロックの入力端子をgnim、出力端子をgn
omと表現し、nはブロックid、mは端子の番号とす
る。
回路図であり、この図により経路探索を行う場合を説明
する。図において21,22は外部入力端子A,B,2
3〜24はブロックG1〜G4、27,28は外部出力
端子X,Yを示している。入力端子A,Bから出力端子
X,Yに対してそれぞれの最大遅延経路を探索する場合
とし、ブロックの入力端子をgnim、出力端子をgn
omと表現し、nはブロックid、mは端子の番号とす
る。
【0009】ステップ1: 経路探索始点Aを選択し、
Aに与えられた遅延を初期遅延として設定する。 ステップ2: 始点Aと終点X,Yを含む回路を図8の
回路から切り出す。この様子を図9に示す。ここで29
が切出された部分回路を示している。 ステップ3: 始点Aに与えられた遅延値を、G1,G
2の入力端子g1i1(31),g2i2(32)に伝
搬する。この際図10に示すように始点Aと入力端子g
1i1(31)、g2i2(32)の間の配線遅延をそ
れぞれ加算する。ここで33は経路探索の流れの様子を
表している。
Aに与えられた遅延を初期遅延として設定する。 ステップ2: 始点Aと終点X,Yを含む回路を図8の
回路から切り出す。この様子を図9に示す。ここで29
が切出された部分回路を示している。 ステップ3: 始点Aに与えられた遅延値を、G1,G
2の入力端子g1i1(31),g2i2(32)に伝
搬する。この際図10に示すように始点Aと入力端子g
1i1(31)、g2i2(32)の間の配線遅延をそ
れぞれ加算する。ここで33は経路探索の流れの様子を
表している。
【0010】ステップ4: ブロックG2、G3におい
て経路探索用に切出された部分回路29に含まれる入力
端子の全てに遅延が伝播されているため、ブロックG
1,G3の出力端子g1o1、g3o1それぞれにブロ
ックの遅延を加算した累計遅延を伝搬するとともに、出
力端子のテーブルに入力端子idを登録する。この場合
は、図11に示す。ここで、34,35はG1,G2の
出力端子テーブルが指す入力端子idを模式的に表現し
ている。
て経路探索用に切出された部分回路29に含まれる入力
端子の全てに遅延が伝播されているため、ブロックG
1,G3の出力端子g1o1、g3o1それぞれにブロ
ックの遅延を加算した累計遅延を伝搬するとともに、出
力端子のテーブルに入力端子idを登録する。この場合
は、図11に示す。ここで、34,35はG1,G2の
出力端子テーブルが指す入力端子idを模式的に表現し
ている。
【0011】ステップ5: 全ての経路探索が出力端子
に伝搬していないのでステップ3に戻る。ステップ3で
g2o1とg3o1に与えられた遅延値を、終点XとG
1の入力端子g1i1とg1i2に伝搬する。この際端
子g2o1と終点Xおよび端子g1o1間またg3o
1、g1i2の間の配線遅延をそれぞれ加算する。次に
ステップ4でG1、Xにおいてこの処理を行う。さら
に、ステップ5で全ての経路探索が出力端子に伝搬して
いないのでステップ3に戻り、G1に与えられた遅延値
を、終点Yに伝搬する。この際g1o1とY間の配線遅
延を伝搬する。次にステップ4で終点Yにおいてこの処
理を行い、ステップ5で全ての経路探索が出力端子に伝
搬しているのでステップ6にすすむ。
に伝搬していないのでステップ3に戻る。ステップ3で
g2o1とg3o1に与えられた遅延値を、終点XとG
1の入力端子g1i1とg1i2に伝搬する。この際端
子g2o1と終点Xおよび端子g1o1間またg3o
1、g1i2の間の配線遅延をそれぞれ加算する。次に
ステップ4でG1、Xにおいてこの処理を行う。さら
に、ステップ5で全ての経路探索が出力端子に伝搬して
いないのでステップ3に戻り、G1に与えられた遅延値
を、終点Yに伝搬する。この際g1o1とY間の配線遅
延を伝搬する。次にステップ4で終点Yにおいてこの処
理を行い、ステップ5で全ての経路探索が出力端子に伝
搬しているのでステップ6にすすむ。
【0012】ステップ6: 終点X,Yから始点方向に
各ブロックの出力端子のテーブルをもとに経路を探索し
それぞれ始点Aまでの最大または最小遅延経路をもとめ
る。 ステップ7: 始点Bからの経路探索が終了していない
のでステップ1に戻り、ステップ1〜7の処理を始点B
に対して行う。
各ブロックの出力端子のテーブルをもとに経路を探索し
それぞれ始点Aまでの最大または最小遅延経路をもとめ
る。 ステップ7: 始点Bからの経路探索が終了していない
のでステップ1に戻り、ステップ1〜7の処理を始点B
に対して行う。
【0013】ステップ8: 全ての始点からの各終点か
での経路情報および遅延値を格納されたテーブルもしく
はファイルから各始点と各終点毎の最大もしくは最小遅
延経路、を求める。この結果、YからAに至る最大遅延
経路を求めた場合の様子を図12に示す。ここで37は
最大遅延経路を示し、36はG1の出力端子テーブルが
指す入力端子idを模式的に表現しいる。
での経路情報および遅延値を格納されたテーブルもしく
はファイルから各始点と各終点毎の最大もしくは最小遅
延経路、を求める。この結果、YからAに至る最大遅延
経路を求めた場合の様子を図12に示す。ここで37は
最大遅延経路を示し、36はG1の出力端子テーブルが
指す入力端子idを模式的に表現しいる。
【0014】次に、従来の他の経路探索方法として、経
路探索上の各始点各終点間それぞれの最大もしくは最小
遅延を求める場合について述べる。この方法は、経路探
索上の各始点から経路探索上の各終点に対して経路探索
を行う回路内部の全ての経路を探索する。求められた経
路をもとに経路探索上の始点、終点毎に遅延時間順にソ
ーティングを行い、経路を求める。
路探索上の各始点各終点間それぞれの最大もしくは最小
遅延を求める場合について述べる。この方法は、経路探
索上の各始点から経路探索上の各終点に対して経路探索
を行う回路内部の全ての経路を探索する。求められた経
路をもとに経路探索上の始点、終点毎に遅延時間順にソ
ーティングを行い、経路を求める。
【0015】この方法のアルゴリズムを次に説明する。
なお、ここでは説明の便宜上経路探索上の始点を論理回
路の外部出力端子または外部双方向端子またはブロック
の入力・出力端子から回路のファンイン方向(ブロック
の出力端子からそのブロックの入力端子方向)に経路探
索を行うものとして説明する。
なお、ここでは説明の便宜上経路探索上の始点を論理回
路の外部出力端子または外部双方向端子またはブロック
の入力・出力端子から回路のファンイン方向(ブロック
の出力端子からそのブロックの入力端子方向)に経路探
索を行うものとして説明する。
【0016】ステップ1,2: 前述の従来例と同様に
任意の経路探索の始点を1つ選択し、端子に与えられた
入力端子に対して初期遅延値を設定し、得られた始点と
終点の間に存在する経路を含む論理回路を全体の回路か
ら切出す。
任意の経路探索の始点を1つ選択し、端子に与えられた
入力端子に対して初期遅延値を設定し、得られた始点と
終点の間に存在する経路を含む論理回路を全体の回路か
ら切出す。
【0017】ステップ3a: 選択した端子がブロック
か入力端子か出力端子かを判定し、入力端子の場合ステ
ップ4aへ、選択した端子がブロックの出力端子の場合
ステップ4bへすすむ。
か入力端子か出力端子かを判定し、入力端子の場合ステ
ップ4aへ、選択した端子がブロックの出力端子の場合
ステップ4bへすすむ。
【0018】ステップ4a: 当該した端子が経路探索
上の終点か否かを判定し、終点ならばステップ5aへ、
終点でなければ、、累計遅延時間をもとめファンイン先
の出力端子に遅延を伝搬する。この際ブロックの入力端
子からファンイン先の出力端子間の配線遅延を累計す
る。また入力端子に探索フラグをたてる。
上の終点か否かを判定し、終点ならばステップ5aへ、
終点でなければ、、累計遅延時間をもとめファンイン先
の出力端子に遅延を伝搬する。この際ブロックの入力端
子からファンイン先の出力端子間の配線遅延を累計す
る。また入力端子に探索フラグをたてる。
【0019】ステップ4b: 当該した端子か経路探索
上の終点ならばステップ5aへ、終点でなければ、ブロ
ックの入力端子を検索し、全ての端子に対して検索終了
フラグがたっている場合にはステップ7bへ、そうでな
ければ任意のブロックの入力端子を選択し遅延を伝搬す
る。この際累計遅延にブロックの遅延を加算し、経路探
索テーブルに出力端子idと入力端子idを書き込む。
上の終点ならばステップ5aへ、終点でなければ、ブロ
ックの入力端子を検索し、全ての端子に対して検索終了
フラグがたっている場合にはステップ7bへ、そうでな
ければ任意のブロックの入力端子を選択し遅延を伝搬す
る。この際累計遅延にブロックの遅延を加算し、経路探
索テーブルに出力端子idと入力端子idを書き込む。
【0020】ステップ5a: 終点に到達した場合の遅
延の累計値と終点端子idを探索結果テーブルもしくは
ファイルへ書き込む。
延の累計値と終点端子idを探索結果テーブルもしくは
ファイルへ書き込む。
【0021】ステップ6a: 終点がブロックの入力端
子の場合ステップ7aへ、ブロックのブロックの出力端
子の場合ステップ7bへ進む。
子の場合ステップ7aへ、ブロックのブロックの出力端
子の場合ステップ7bへ進む。
【0022】ステップ7a: 当該入力端子が経路探索
の始点である場合ステップ8aへ始点でない場合には経
路探索フラグをもとにブロックの出力端子を探索しステ
ップ7bへ、この際入力端子の経路探索フラグをたお
し、経路探索終了フラグを立てる。
の始点である場合ステップ8aへ始点でない場合には経
路探索フラグをもとにブロックの出力端子を探索しステ
ップ7bへ、この際入力端子の経路探索フラグをたお
し、経路探索終了フラグを立てる。
【0023】ステップ7b: 当該出力端子が経路探索
の始点の場合ステップ8aへ、始点でない場合には経路
探索フラグをもとにブロックの入力端子を探索し経路探
索終了フラグがたっていない入力端子を検索する。該当
するブロックの入力端子が存在すれはステップ4bへ戻
り、全てのブロックの入力端子に経路探索終了フラグを
たてる。その後ブロックの出力端子からファンアウト方
向へ回路を探索し経路探索フラグがある入力端子を検索
し、ステップ7aへ帰る。
の始点の場合ステップ8aへ、始点でない場合には経路
探索フラグをもとにブロックの入力端子を探索し経路探
索終了フラグがたっていない入力端子を検索する。該当
するブロックの入力端子が存在すれはステップ4bへ戻
り、全てのブロックの入力端子に経路探索終了フラグを
たてる。その後ブロックの出力端子からファンアウト方
向へ回路を探索し経路探索フラグがある入力端子を検索
し、ステップ7aへ帰る。
【0024】ステップ8a: 全ての経路探索上の始点
が選択されたか否かを判定し、すべて選択されていれ
ば、次のステップ9へ、そうでなければステップ1に戻
る。
が選択されたか否かを判定し、すべて選択されていれ
ば、次のステップ9へ、そうでなければステップ1に戻
る。
【0025】ステップ9: ステップ1から8aの繰返
しによって得られた経路探索テーブルをもとに経路探索
上の始点/終点毎に結果をソートし、各経路の組み合わ
せ毎に最大もしくは最小遅延経路を抽出する。
しによって得られた経路探索テーブルをもとに経路探索
上の始点/終点毎に結果をソートし、各経路の組み合わ
せ毎に最大もしくは最小遅延経路を抽出する。
【0026】
【発明が解決しようとする課題】上述した従来の論理回
路の経路探索方法は、各始点毎に最大または最小遅延経
路の遅延値を求める場合、与えられた経路探索の始点の
集合から任意の始点を選択し、選択された始点から経路
探索の終点に対して経路を探索し最大または最小遅延経
路を求め、この処理を経路探索の始点毎に行っていたの
で、経路の始終点毎の最大または最小遅延経路、経路の
遅延値およびその論理値を求める場合、始点毎に経路探
索を行う必要があるという問題点があった。
路の経路探索方法は、各始点毎に最大または最小遅延経
路の遅延値を求める場合、与えられた経路探索の始点の
集合から任意の始点を選択し、選択された始点から経路
探索の終点に対して経路を探索し最大または最小遅延経
路を求め、この処理を経路探索の始点毎に行っていたの
で、経路の始終点毎の最大または最小遅延経路、経路の
遅延値およびその論理値を求める場合、始点毎に経路探
索を行う必要があるという問題点があった。
【0027】また他の方法では、与えられた経路探索の
始終点に対して全ての存在する経路を探索し、その後経
路の始終点毎の最大または最小遅延経路、経路の遅延値
および論理値を求めていたので、最大または最小遅延経
路以外の回路内部の全ての経路を探索するため最大また
は最小遅延経路以外の冗長な経路探索が行われ、その結
果内部に保持される経路探索情報が大きくなるという問
題点があった。
始終点に対して全ての存在する経路を探索し、その後経
路の始終点毎の最大または最小遅延経路、経路の遅延値
および論理値を求めていたので、最大または最小遅延経
路以外の回路内部の全ての経路を探索するため最大また
は最小遅延経路以外の冗長な経路探索が行われ、その結
果内部に保持される経路探索情報が大きくなるという問
題点があった。
【0028】本発明の目的は、これらの問題を解決し、
全入力端子ごとの最大または最小遅延経路(クリティカ
ルパス)を高速に求めることのできる論理回路の遅延経
路検索方法を提供することにある。
全入力端子ごとの最大または最小遅延経路(クリティカ
ルパス)を高速に求めることのできる論理回路の遅延経
路検索方法を提供することにある。
【0029】
【課題を解決するための手段】本発明の論理回路の遅延
経路探索方法の構成は、論理回路設計におけるその回路
の最大または最小遅延回路を探索する場合に、その経路
探索時に経路の始点を示す情報を回路内部の各ブロック
に持たせ、さらに前記始点毎の最大または最小の遅延経
路が前記ブロックのどの入力から出力に至ったかの情報
を前記各ブロックに持たせる事により、前記各始終点毎
の最大または最小遅延が持つ論理値および遅延値を同時
に求め、さらに任意の始点終点毎からの最大または最小
遅延経路を求めるようにしたことを特徴とする。
経路探索方法の構成は、論理回路設計におけるその回路
の最大または最小遅延回路を探索する場合に、その経路
探索時に経路の始点を示す情報を回路内部の各ブロック
に持たせ、さらに前記始点毎の最大または最小の遅延経
路が前記ブロックのどの入力から出力に至ったかの情報
を前記各ブロックに持たせる事により、前記各始終点毎
の最大または最小遅延が持つ論理値および遅延値を同時
に求め、さらに任意の始点終点毎からの最大または最小
遅延経路を求めるようにしたことを特徴とする。
【0030】
【実施例】図1は本発明の一実施例のフローチャートで
ある。まず、開始処理1は、経路探索の対象となる論理
回路の入力論理回路に用いられているブロックの入出力
間の遅延値、配線遅延値を取込む。また、経路探索最小
の論理回路内部の外部入力、外部出力、外部双方向端子
およびブロックの入力、出力、双方向端子に経路探索情
報格納用テーブルを生成する。格納テーブルに格納され
る情報は、経路探索上の始点および始点の論理値毎に、
累計遅延値、入力端子を表すidであり、これを出力端
子テーブルと呼んでいる。
ある。まず、開始処理1は、経路探索の対象となる論理
回路の入力論理回路に用いられているブロックの入出力
間の遅延値、配線遅延値を取込む。また、経路探索最小
の論理回路内部の外部入力、外部出力、外部双方向端子
およびブロックの入力、出力、双方向端子に経路探索情
報格納用テーブルを生成する。格納テーブルに格納され
る情報は、経路探索上の始点および始点の論理値毎に、
累計遅延値、入力端子を表すidであり、これを出力端
子テーブルと呼んでいる。
【0031】探索上の始点処理2は、始点のもつ初期遅
延を経路探索情報を格納する。格納される経路探索情報
は、各始点の論理値毎の累計値が格納される。このとき
現在評価中であることを示すテーブルに始点のブロック
idを登録する。これを経路探索テーブルと呼ぶ。終了
判定3は現在経路探索テーブルに登録されているブロッ
クに対し、全ての処理を終えているかを判定し、全ての
処理が終わっていれば伝搬処理10に進み、そうでなけ
れば選択処理4に進む。
延を経路探索情報を格納する。格納される経路探索情報
は、各始点の論理値毎の累計値が格納される。このとき
現在評価中であることを示すテーブルに始点のブロック
idを登録する。これを経路探索テーブルと呼ぶ。終了
判定3は現在経路探索テーブルに登録されているブロッ
クに対し、全ての処理を終えているかを判定し、全ての
処理が終わっていれば伝搬処理10に進み、そうでなけ
れば選択処理4に進む。
【0032】選択処理4は現在処理が終わっていない経
路探索テーブルに登録されているブロックのうちの任意
のものを選び、判定処理5にて当該ブロックの属するブ
ロックの入力端子に経路探索情報が伝搬しているか否か
を判定し、伝搬していなければ経路探索テーブルにブロ
ックidを保持し、伝搬している場合格納処理6へすす
む。格納処理6では入力端子に保持された経路探索情報
の中から探索上の始点と論理値毎に最大または最小の累
計遅延を持つ経路探索情報を選択する。このとき得られ
た経路探索情報を出力端子テーブルに格納すると共に選
択した入力端子idをあわせて格納し、伝搬処理7へす
すむ。伝搬処理ではブロックの経路探索情報をファンア
ウト先のブロックに伝搬する。
路探索テーブルに登録されているブロックのうちの任意
のものを選び、判定処理5にて当該ブロックの属するブ
ロックの入力端子に経路探索情報が伝搬しているか否か
を判定し、伝搬していなければ経路探索テーブルにブロ
ックidを保持し、伝搬している場合格納処理6へすす
む。格納処理6では入力端子に保持された経路探索情報
の中から探索上の始点と論理値毎に最大または最小の累
計遅延を持つ経路探索情報を選択する。このとき得られ
た経路探索情報を出力端子テーブルに格納すると共に選
択した入力端子idをあわせて格納し、伝搬処理7へす
すむ。伝搬処理ではブロックの経路探索情報をファンア
ウト先のブロックに伝搬する。
【0033】次の判定処理8で全ての経路探索情報が伝
搬したかを判定し、伝搬している場合処理9に進み、そ
うでなければ処理4に戻り再び経路探索を行う。判定処
理9では探索上の始点終点毎に経路情報が必要かどうか
を判定する。この情報の必要な場合、経路情報が必要な
始点に対してのみ経路情報を得るため処理10以降の処
理を行う。遅延情報が必要な始点には処理15へ進む。
選択処理10では任意の経路上の終点を選択し、次の選
択処理11にて終点に格納された経路探索情報の中から
任意の経路探索上の始点を選択する。さらに処理12に
おいてブロックの出力端子に保持された経路探索結果の
中の入力端子idをもとに経路上の始点まで経路をたど
り最大または最小遅延経路を求める。
搬したかを判定し、伝搬している場合処理9に進み、そ
うでなければ処理4に戻り再び経路探索を行う。判定処
理9では探索上の始点終点毎に経路情報が必要かどうか
を判定する。この情報の必要な場合、経路情報が必要な
始点に対してのみ経路情報を得るため処理10以降の処
理を行う。遅延情報が必要な始点には処理15へ進む。
選択処理10では任意の経路上の終点を選択し、次の選
択処理11にて終点に格納された経路探索情報の中から
任意の経路探索上の始点を選択する。さらに処理12に
おいてブロックの出力端子に保持された経路探索結果の
中の入力端子idをもとに経路上の始点まで経路をたど
り最大または最小遅延経路を求める。
【0034】判定処理13において終点に記された経路
探索上の始点をすべて選択したかを判定し、選択してい
なければ処理11からの処理を繰り返し、全ての始点を
選択している場合処理14へ進む。次の判定処理14で
は経路情報が必要な終点をすべて選択したかを判定し、
選択してなければ処理10からの処理を繰り返し、全終
点を選択している場合処理15へ進む。処理15では経
路探索情報をもとに始終点毎の遅延をもとめる。これは
経路探索上の終点に残された経路探索結果を得ることに
より求められる。次の終了処理16では、確保していた
記憶領域の解放、探索結果の出力および終了した旨の結
果表示等を行う。
探索上の始点をすべて選択したかを判定し、選択してい
なければ処理11からの処理を繰り返し、全ての始点を
選択している場合処理14へ進む。次の判定処理14で
は経路情報が必要な終点をすべて選択したかを判定し、
選択してなければ処理10からの処理を繰り返し、全終
点を選択している場合処理15へ進む。処理15では経
路探索情報をもとに始終点毎の遅延をもとめる。これは
経路探索上の終点に残された経路探索結果を得ることに
より求められる。次の終了処理16では、確保していた
記憶領域の解放、探索結果の出力および終了した旨の結
果表示等を行う。
【0035】次に、本実施例による経路探索例として、
従来例と同じ図8の回路をもとに説明する。入力端子
A,Bから出力端子X,Yに対してそれぞれの最大遅延
経路を探索する場合を示す。
従来例と同じ図8の回路をもとに説明する。入力端子
A,Bから出力端子X,Yに対してそれぞれの最大遅延
経路を探索する場合を示す。
【0036】ステップ1: 経路探索始点を選択し(選
択処理4)、始点に与えられた遅延を初期遅延として設
定する(始点処理2)。選択した始点を経路探索テーブ
ルに保持し、また始点にある出力端子テーブルに経路探
索情報を書込む(格納処理6)。
択処理4)、始点に与えられた遅延を初期遅延として設
定する(始点処理2)。選択した始点を経路探索テーブ
ルに保持し、また始点にある出力端子テーブルに経路探
索情報を書込む(格納処理6)。
【0037】ステップ2: 経路探索テーブルのブロッ
クidの属する出力端子からファンアウト方向に経路探
索情報を伝搬する(伝搬処理7)。この場合経路探索情
報は始点AからブロックG1の入力端子g1i1とブロ
ックG2の入力端子g2i2に、始点Bからはブロック
G1の入力端子g1i2とG4の入力端子g4i1に伝
搬する。伝搬した端子idの属するブロックid即ちG
1、G2、G4を経路探索テーブルに保持すると同時に
始点A、Bのブロックidを経路探索テーブルから削除
する。この様子を図2に示す。この図で41,42は入
力端子A,Bからの経路探索の様子を模式的に表現し、
38,39はブロックG1の入力端子g1i1,g1i
2を、40はブロックG4の入力端子g4i1を示して
いる。
クidの属する出力端子からファンアウト方向に経路探
索情報を伝搬する(伝搬処理7)。この場合経路探索情
報は始点AからブロックG1の入力端子g1i1とブロ
ックG2の入力端子g2i2に、始点Bからはブロック
G1の入力端子g1i2とG4の入力端子g4i1に伝
搬する。伝搬した端子idの属するブロックid即ちG
1、G2、G4を経路探索テーブルに保持すると同時に
始点A、Bのブロックidを経路探索テーブルから削除
する。この様子を図2に示す。この図で41,42は入
力端子A,Bからの経路探索の様子を模式的に表現し、
38,39はブロックG1の入力端子g1i1,g1i
2を、40はブロックG4の入力端子g4i1を示して
いる。
【0038】ステップ3: G1を評価、G1の入力端
子は全て経路探索情報が伝搬しているため、個々の入力
端子に保持された入力端子までの累計遅延とg1o1ま
でのブロック内遅延を加算し遅延値の大きな方を論理値
毎に選択する(処理8,9)。この場合はg1i1を選
択し、このとき出力端子テーブルにg1i1のidと累
計遅延値および論理値を格納する。この様子を図3に示
す。図3の43,44はブロックG1,G4の出力端子
テーブルであり、外部入力端子毎の最大または最小遅延
をもつ経路が何番目の入力端子より至ったものかを示し
ている。ここでは各ブロック毎に図の上側から順に番号
付されているものとし、一番上を1とし、テーブルの左
の欄に示す外部入力端子よりの経路がない場合は0で現
し、この例では出力端子テーブルのもつ遅延値は示して
いない。この処理を出力端子処理と呼ぶ。
子は全て経路探索情報が伝搬しているため、個々の入力
端子に保持された入力端子までの累計遅延とg1o1ま
でのブロック内遅延を加算し遅延値の大きな方を論理値
毎に選択する(処理8,9)。この場合はg1i1を選
択し、このとき出力端子テーブルにg1i1のidと累
計遅延値および論理値を格納する。この様子を図3に示
す。図3の43,44はブロックG1,G4の出力端子
テーブルであり、外部入力端子毎の最大または最小遅延
をもつ経路が何番目の入力端子より至ったものかを示し
ている。ここでは各ブロック毎に図の上側から順に番号
付されているものとし、一番上を1とし、テーブルの左
の欄に示す外部入力端子よりの経路がない場合は0で現
し、この例では出力端子テーブルのもつ遅延値は示して
いない。この処理を出力端子処理と呼ぶ。
【0039】ステップ4: 全ての経路探索テーブルに
保持されているブロックを評価したかを判定し、この場
合G2、G3が未評価なためステップ3へ戻る。このス
テップ3でG4を評価し、G4の入力端子はすべて経路
探索情報が伝搬しているため終了端子処理を行う。さら
に、ステップ4で全ての経路探索テーブルに保持されて
いるブロックを評価したかを判定し、すべて評価済みの
ためステップ5へすすむ。
保持されているブロックを評価したかを判定し、この場
合G2、G3が未評価なためステップ3へ戻る。このス
テップ3でG4を評価し、G4の入力端子はすべて経路
探索情報が伝搬しているため終了端子処理を行う。さら
に、ステップ4で全ての経路探索テーブルに保持されて
いるブロックを評価したかを判定し、すべて評価済みの
ためステップ5へすすむ。
【0040】ステップ5: 経路探索情報が経路上の終
点に達しているかを判定し、この場合終点に達していな
いのでステップ6にすすむ。
点に達しているかを判定し、この場合終点に達していな
いのでステップ6にすすむ。
【0041】ステップ6: 処理済みのブロックの出力
端子からファンアウト方向に経路探索情報を伝搬する。
この場合、G4およびG1から伝搬される。
端子からファンアウト方向に経路探索情報を伝搬する。
この場合、G4およびG1から伝搬される。
【0042】ステップ2から4までの処理をブロックG
2、G3、出力端子Xにおいて繰り返す(判定処理8,
9)。この場合、ブロックG2は全ての入力端子に経路
探索情報が伝搬しているため、終力端子テーブルに所定
の情報を書き込むが、G3は端子g3i2に経路探索情
報が伝搬していないため処理はされず、経路探索テーブ
ルにブロックidが保持される。また出力端子Xに伝搬
された経路探索情報は経路探索上の終点に達しているた
め、結果はそのまま保持される。
2、G3、出力端子Xにおいて繰り返す(判定処理8,
9)。この場合、ブロックG2は全ての入力端子に経路
探索情報が伝搬しているため、終力端子テーブルに所定
の情報を書き込むが、G3は端子g3i2に経路探索情
報が伝搬していないため処理はされず、経路探索テーブ
ルにブロックidが保持される。また出力端子Xに伝搬
された経路探索情報は経路探索上の終点に達しているた
め、結果はそのまま保持される。
【0043】ここでステップ5で、経路探索情報が経路
上の終点に達しているかを判定し、この場合終点に達し
ていないのでステップ6に進み、処理済みのブロックG
2について経路探索情報をファンアウト方向に伝搬す
る。このステップ2から5までの処理をブロックG3に
おいて繰り返す。ステップ5で経路探索情報が経路上の
終点に達していることを判定するとステップ7に進む。
上の終点に達しているかを判定し、この場合終点に達し
ていないのでステップ6に進み、処理済みのブロックG
2について経路探索情報をファンアウト方向に伝搬す
る。このステップ2から5までの処理をブロックG3に
おいて繰り返す。ステップ5で経路探索情報が経路上の
終点に達していることを判定するとステップ7に進む。
【0044】ステップ7: 最大遅延経路を求めるかど
うかを判定する。ここでは、経路を求める場合について
説明する。経路を求めない場合にはステップ12へすす
む。
うかを判定する。ここでは、経路を求める場合について
説明する。経路を求めない場合にはステップ12へすす
む。
【0045】ステップ8:任意の経路探索上の終点を一
つ選択し、この場合Xを選択する(選択処理10)。
つ選択し、この場合Xを選択する(選択処理10)。
【0046】ステップ9: 端子Xの経路探索結果テー
ブルに残された始点のうちの一つを選択し、この場合B
を選択する(選択処理11)。
ブルに残された始点のうちの一つを選択し、この場合B
を選択する(選択処理11)。
【0047】ステップ10: 終点XからBまでの経路
を検索する。この場合G3の出力端子に保持された出力
端子テーブルからブロックの入力端子idを検索しg3
i2を得る。g3i2からファンイン方向に検索、G4
を経由して始点Bにいたる。従ってBからXに至る最大
遅延経路は端子BからG3、G4を経由して端子Xに至
る経路となる(経路処理12)。Xの経路探索結果テー
ブルに残された始点のうちの一つを選択し、この場合A
を選択し、ステップ10を行う。
を検索する。この場合G3の出力端子に保持された出力
端子テーブルからブロックの入力端子idを検索しg3
i2を得る。g3i2からファンイン方向に検索、G4
を経由して始点Bにいたる。従ってBからXに至る最大
遅延経路は端子BからG3、G4を経由して端子Xに至
る経路となる(経路処理12)。Xの経路探索結果テー
ブルに残された始点のうちの一つを選択し、この場合A
を選択し、ステップ10を行う。
【0048】終点Yに対してステップ9、10を繰り返
しYからA,B間の最大遅延経路を求める。この様にし
て求められた経路のうちX,YからBへの最大遅延経路
の様子を図4に示す。ここで44,45,46はブロッ
クG4,G2,G3の出力端子のもつ出力端子テーブ
ル、47,48は始点X,Yの出力端子のもつ出力端子
テーブルである。いま、図のように出力端子テーブルの
値が決定したとすると、Y出力端子からB入力端子に至
る経路は、Yより各ブロックの出力端子がもつ出力端子
テーブルのBに対する情報が示すブロックの入力端子を
信号の流れとは逆方向にたどってゆくことによりもとま
る。つまり、YからG3,G2,G4,Bを順次通過す
る経路である(処理13,14)。
しYからA,B間の最大遅延経路を求める。この様にし
て求められた経路のうちX,YからBへの最大遅延経路
の様子を図4に示す。ここで44,45,46はブロッ
クG4,G2,G3の出力端子のもつ出力端子テーブ
ル、47,48は始点X,Yの出力端子のもつ出力端子
テーブルである。いま、図のように出力端子テーブルの
値が決定したとすると、Y出力端子からB入力端子に至
る経路は、Yより各ブロックの出力端子がもつ出力端子
テーブルのBに対する情報が示すブロックの入力端子を
信号の流れとは逆方向にたどってゆくことによりもとま
る。つまり、YからG3,G2,G4,Bを順次通過す
る経路である(処理13,14)。
【0049】ステップ11: X,Yで求めた始点毎の
最大経路を結果としてファイルまたは結果テーブルに出
力する。
最大経路を結果としてファイルまたは結果テーブルに出
力する。
【0050】ステップ12: X,Yに残された始点毎
の最大遅延を結果としてファイルまたは結果テーブルに
出力する(処理15)。
の最大遅延を結果としてファイルまたは結果テーブルに
出力する(処理15)。
【0051】ステップ13: 終了処理(処理16)。
この場合実行結果のファイルのクローズし、実行メッセ
ージの出力、確保していた記憶領域の解放を行う。
この場合実行結果のファイルのクローズし、実行メッセ
ージの出力、確保していた記憶領域の解放を行う。
【0052】図5は本発明の第2の実施例のフローチャ
ートである。第1の実施例では、信号の流れの方向つま
り前方向に経路探索したが、この実施例では、信号の流
れとは逆方向に経路探索を行う。本実施例は、第1の実
施例の処理5〜7の代りに処理5a〜7aを行うことに
なる。
ートである。第1の実施例では、信号の流れの方向つま
り前方向に経路探索したが、この実施例では、信号の流
れとは逆方向に経路探索を行う。本実施例は、第1の実
施例の処理5〜7の代りに処理5a〜7aを行うことに
なる。
【0053】判定処理5aでは、当該ブロックの属する
ブロックの出力端子のファンアウト毎に経路探索情報が
伝搬しているか否かを判定し、伝搬していなければ経路
探索テーブルにブロックidを保持し、伝搬している場
合格納処理6へ進む。格納処理6aでは出力端子のファ
ンアウト毎に保持された経路探索情報の中から探索上の
始点と論理値毎に最大または最小の累計遅延を持つ経路
探索情報を選択する。このとき得られた経路探索情報を
入力端子テーブルに格納すると共に選択した出力端子i
dをあわせて格納し、その後伝搬処理7aに進む。この
伝搬処理7aにおいてブロックの経路探索情報をファン
イン先のブロックに伝搬する。この後の処理は、第1の
実施例と同様である。
ブロックの出力端子のファンアウト毎に経路探索情報が
伝搬しているか否かを判定し、伝搬していなければ経路
探索テーブルにブロックidを保持し、伝搬している場
合格納処理6へ進む。格納処理6aでは出力端子のファ
ンアウト毎に保持された経路探索情報の中から探索上の
始点と論理値毎に最大または最小の累計遅延を持つ経路
探索情報を選択する。このとき得られた経路探索情報を
入力端子テーブルに格納すると共に選択した出力端子i
dをあわせて格納し、その後伝搬処理7aに進む。この
伝搬処理7aにおいてブロックの経路探索情報をファン
イン先のブロックに伝搬する。この後の処理は、第1の
実施例と同様である。
【0054】この方法の回路への応用を図6に示す。基
本的な操作は図2から図4までと同じであるため、ここ
では経路探索の結果を示す。前述の方法との違いは、ま
ず経路探索の方向が逆であることである。ブロックの出
力に対して持たれていた出力端子テーブルの情報は、代
って入力端子に持たれ、各外部出力端子からの最大ある
いは最小遅延経路が、その入力端子に至るのにブロック
出力端子のどのファンアウトから来るかを表わし、これ
を入力端子テーブルと呼ぶ。数字は最大あるいは最小遅
延経路が、どのファンアウトを通るかを示しており、図
6の一番上の方のファンアウトを1とし、順に番号がふ
られている。0はテーブルの左に示される外部入力端子
からそのブロックの入力に至る経路が存在しないことを
示している。また同様に図の上から順に、各ブロックの
入力端子に番号を割り当て、一番上の入力を第一入力と
呼ぶ。
本的な操作は図2から図4までと同じであるため、ここ
では経路探索の結果を示す。前述の方法との違いは、ま
ず経路探索の方向が逆であることである。ブロックの出
力に対して持たれていた出力端子テーブルの情報は、代
って入力端子に持たれ、各外部出力端子からの最大ある
いは最小遅延経路が、その入力端子に至るのにブロック
出力端子のどのファンアウトから来るかを表わし、これ
を入力端子テーブルと呼ぶ。数字は最大あるいは最小遅
延経路が、どのファンアウトを通るかを示しており、図
6の一番上の方のファンアウトを1とし、順に番号がふ
られている。0はテーブルの左に示される外部入力端子
からそのブロックの入力に至る経路が存在しないことを
示している。また同様に図の上から順に、各ブロックの
入力端子に番号を割り当て、一番上の入力を第一入力と
呼ぶ。
【0055】ここで、図6の51,52は外部入力端子
(A,B)21,22のもつ入力端子テーブル、53は
G4の入力のもつ入力端子テーブル、54,55はG1
の第一,第二入力のもつ入力端子テーブル、56,5
7,58,19はG2の第一,第二入力およびG3の第
一,第二入力のもつ入力端子テーブルを示す。
(A,B)21,22のもつ入力端子テーブル、53は
G4の入力のもつ入力端子テーブル、54,55はG1
の第一,第二入力のもつ入力端子テーブル、56,5
7,58,19はG2の第一,第二入力およびG3の第
一,第二入力のもつ入力端子テーブルを示す。
【0056】この場合経路探索の順序は、まず、外部出
力端子XとYで開始され、次にG1とG3に至る。次に
G3よりG1とG2に至り、この時点でG1の全ファン
アウトの評価が終了するため、G1より入力端子AとB
に進み、同時にG2からAとG4に至る。ここで入力端
子Aの評価が行なわれる。さらにG4より端子Bに進
み、この端子Bの評価が行われる。
力端子XとYで開始され、次にG1とG3に至る。次に
G3よりG1とG2に至り、この時点でG1の全ファン
アウトの評価が終了するため、G1より入力端子AとB
に進み、同時にG2からAとG4に至る。ここで入力端
子Aの評価が行なわれる。さらにG4より端子Bに進
み、この端子Bの評価が行われる。
【0057】ここで仮に入力端子テーブルに示された形
となったものとすると、この時の外部出力端子Yから外
部入力端子Bに至る経路は、端子Bより各ブロックの入
力端子テーブルに示される出力ファンアウトを順次検索
することで求めらる。この場合、端子BからG1、G
3、端子Yを順次通る経路が求める経路である。
となったものとすると、この時の外部出力端子Yから外
部入力端子Bに至る経路は、端子Bより各ブロックの入
力端子テーブルに示される出力ファンアウトを順次検索
することで求めらる。この場合、端子BからG1、G
3、端子Yを順次通る経路が求める経路である。
【0058】
【発明の効果】以上説明したように本発明は、与れられ
た経路探索を行う論理回路に対して求められるべき経路
探索上の始終点毎の最大もしくは最小遅延経路を、始点
からの経路探索を始点毎に繰り返す事なく、また最大ま
たは最小遅延経路のみ検索し、結果的に得られた経路探
索情報は、最大または最小遅延経路上の情報のみ保持さ
れるので、全入力端子毎のクリティカルパスを高速に求
められるという効果がある。また、経路探索の結果、探
索回路内部のブロックの出力端子上に保持された出力端
子テーブルは当該する出力端子から任意の経路探索上の
始点にいたる最大または最小遅延経路を示すブロックの
入力端子idを保持しているため、論理回路の任意の点
から経路探索上の始点までの最大または最小遅延経路を
再度探索する事なく求めることができるという効果があ
る。
た経路探索を行う論理回路に対して求められるべき経路
探索上の始終点毎の最大もしくは最小遅延経路を、始点
からの経路探索を始点毎に繰り返す事なく、また最大ま
たは最小遅延経路のみ検索し、結果的に得られた経路探
索情報は、最大または最小遅延経路上の情報のみ保持さ
れるので、全入力端子毎のクリティカルパスを高速に求
められるという効果がある。また、経路探索の結果、探
索回路内部のブロックの出力端子上に保持された出力端
子テーブルは当該する出力端子から任意の経路探索上の
始点にいたる最大または最小遅延経路を示すブロックの
入力端子idを保持しているため、論理回路の任意の点
から経路探索上の始点までの最大または最小遅延経路を
再度探索する事なく求めることができるという効果があ
る。
【図1】本発明の第1の実施例を説明するフローチャー
ト。
ト。
【図2】図1の処理7を適用した回路の模式的回路図。
【図3】図1の処理8,9を適用した回路の模式的回路
図。
図。
【図4】図1の処理12までを適用した回路の模式的回
路図。
路図。
【図5】本発明の第2の実施例を説明するフローチャー
ト。
ト。
【図6】図5の処理を適用した回路の模式的回路図。
【図7】従来例の遅延経路探索方法を説明するフローチ
ャート。
ャート。
【図8】従来例の論理回路探索を説明する一例の回路
図。
図。
【図9】図8のステップ2を適用した回路の模式的回路
図。
図。
【図10】図8のステップ3を適用した回路の模式的回
路図。
路図。
【図11】図8のステップ4を適用した回路の模式的回
路図。
路図。
【図12】図8のステップ8を適用した回路の模式的回
路図。
路図。
1 開始処理 2 探索上の始点処理 3 経路探索情報をもつ全ブロックの判定処理 4 任意のブロックの選択処理 5 ブロック入力端子すべてに経路探索情報が来たか
の否か判定処理 6 経路探索情報のうち探索上の始点/論理値毎に最
大または最小の遅延をもつ経路探索情報を選択し、始点
/論理値毎の出力端子テーブルにidを共に格納する格
納処理。 7 経路探索情報をファンアウト先に伝搬する伝搬処
理 8 経路探索上の終点に達しているこの終点判定処理 9 始点終点毎の経路情報が必要かの判定処理 10 経路上の終点を選択する選択処理 11 経路探索情報の中から任意の経路探索上の始点
を選択する選択処理 12 経路を探索上の始点までたどる処理 13 始点が全て選択されたかの判定処理 14 終点は全て選択されたかの判定処理 15 始終点毎の遅延を算出する処理 16 終了処理 21,22 外部入力端子A,B 23〜26 論理ブロックG1〜G4 27,28 外部出力端子A,B 29 切出し部分回路 31 G1の入力端子g1i1 32 G2の入力端子g2i2 33 経路検索の流れ 34,35,36 G1,G2,G3の出力端子テー
ブルか指す入力端子idの模式的表現 37 最大遅延経路 38,39, ブロックG1の入力端子g1i1,2 40 ブロックG4の入力端子g4i1 41,42 A,Bからの経路探索の進行手順 43,44 ブロックG1,G4の出力端子のもつ出
力端子テーブル 45,46 ブロックG2,G3の出力端子のもつ出
力端子テーブル 47,48 外部出力端子X,Yのもつ出力端子テー
ブル 51,52 外部入力端子A,Bのもつ入力端子テー
ブル 53 G4の入力のもつ入力端子テーブル 54,55 G1の第一入力,第二入力のもつ入力端
子テーブル 56,57 G2の第一入力,第二入力のもつ入力端
子テーブル 58,59 G3の第一入力,第二入力のもつ入力端
子テーブル
の否か判定処理 6 経路探索情報のうち探索上の始点/論理値毎に最
大または最小の遅延をもつ経路探索情報を選択し、始点
/論理値毎の出力端子テーブルにidを共に格納する格
納処理。 7 経路探索情報をファンアウト先に伝搬する伝搬処
理 8 経路探索上の終点に達しているこの終点判定処理 9 始点終点毎の経路情報が必要かの判定処理 10 経路上の終点を選択する選択処理 11 経路探索情報の中から任意の経路探索上の始点
を選択する選択処理 12 経路を探索上の始点までたどる処理 13 始点が全て選択されたかの判定処理 14 終点は全て選択されたかの判定処理 15 始終点毎の遅延を算出する処理 16 終了処理 21,22 外部入力端子A,B 23〜26 論理ブロックG1〜G4 27,28 外部出力端子A,B 29 切出し部分回路 31 G1の入力端子g1i1 32 G2の入力端子g2i2 33 経路検索の流れ 34,35,36 G1,G2,G3の出力端子テー
ブルか指す入力端子idの模式的表現 37 最大遅延経路 38,39, ブロックG1の入力端子g1i1,2 40 ブロックG4の入力端子g4i1 41,42 A,Bからの経路探索の進行手順 43,44 ブロックG1,G4の出力端子のもつ出
力端子テーブル 45,46 ブロックG2,G3の出力端子のもつ出
力端子テーブル 47,48 外部出力端子X,Yのもつ出力端子テー
ブル 51,52 外部入力端子A,Bのもつ入力端子テー
ブル 53 G4の入力のもつ入力端子テーブル 54,55 G1の第一入力,第二入力のもつ入力端
子テーブル 56,57 G2の第一入力,第二入力のもつ入力端
子テーブル 58,59 G3の第一入力,第二入力のもつ入力端
子テーブル
Claims (1)
- 【請求項1】 論理回路設計におけるその回路の最大ま
たは最小遅延回路を探索する場合に、その経路探索時に
経路の始点を示す情報を回路内部の各ブロックに持た
せ、さらに前記始点毎の最大または最小の遅延経路が前
記ブロックのどの入力から出力に至ったかの情報を前記
各ブロックに持たせる事により、前記各始終点毎の最大
または最小遅延が持つ論理値および遅延値を同時に求
め、さらに任意の始点終点毎からの最大または最小遅延
経路を求めるようにしたことを特徴とする論理回路の遅
延経路探索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4266946A JP2935316B2 (ja) | 1992-10-06 | 1992-10-06 | 論理回路の遅延経路探索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4266946A JP2935316B2 (ja) | 1992-10-06 | 1992-10-06 | 論理回路の遅延経路探索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06119411A true JPH06119411A (ja) | 1994-04-28 |
JP2935316B2 JP2935316B2 (ja) | 1999-08-16 |
Family
ID=17437887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4266946A Expired - Lifetime JP2935316B2 (ja) | 1992-10-06 | 1992-10-06 | 論理回路の遅延経路探索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2935316B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308306B1 (en) | 1998-02-27 | 2001-10-23 | Nec Corporation | Delay route searching method and apparatus for logical circuits, and machine-readable recording medium recording program thereon |
JP2007293589A (ja) * | 2006-04-25 | 2007-11-08 | Sharp Corp | 回路図描画プログラム |
-
1992
- 1992-10-06 JP JP4266946A patent/JP2935316B2/ja not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308306B1 (en) | 1998-02-27 | 2001-10-23 | Nec Corporation | Delay route searching method and apparatus for logical circuits, and machine-readable recording medium recording program thereon |
JP2007293589A (ja) * | 2006-04-25 | 2007-11-08 | Sharp Corp | 回路図描画プログラム |
JP4641001B2 (ja) * | 2006-04-25 | 2011-03-02 | シャープ株式会社 | 回路図描画プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2935316B2 (ja) | 1999-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3210172B2 (ja) | ディレイ・レーシング・エラーリスト出力装置 | |
JPH07230481A (ja) | ネット情報抽出方法および装置 | |
JPH01286080A (ja) | 半導体集積回路の自動配線方法 | |
JPH06119411A (ja) | 論理回路の遅延経路探索方法 | |
JPH08212246A (ja) | 論理生成方法 | |
JP2853649B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
JP3080037B2 (ja) | 論理シミュレーション用モデルの作成方法 | |
US20030066000A1 (en) | Failure propagation path estimate system | |
JPH05151292A (ja) | 経路探索処理方法 | |
JPH07306881A (ja) | 論理シミュレーション結果解析支援装置 | |
JPH09260499A (ja) | 集積回路における指定ノード間の遅延時間算出装置 | |
JPH05233749A (ja) | 論理等価検証方法 | |
JPH02150920A (ja) | 最大値データ検索方式 | |
JPH06266795A (ja) | 遅延時間改良方式 | |
JPH05216720A (ja) | 検査データの作成方法及びその装置 | |
JP2003044540A (ja) | レイアウト検証装置 | |
JPS63155740A (ja) | 配線処理方式 | |
JPH05216938A (ja) | 仮想ファイルの検索方式 | |
JPH05158982A (ja) | データ検索結果結合方式 | |
JP4341158B2 (ja) | 集積回路の設計支援システム及びその方法 | |
JPH01234980A (ja) | 配線経路表示装置 | |
JPH11145295A (ja) | 自動配置配線方法 | |
JPH06231200A (ja) | 回路シュミレーション装置 | |
JPH1166127A (ja) | 論理シミュレーションにおける信号観測方法 | |
JP2000057189A (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: 19990506 |