JPH07282095A - 回路遅延時間演算装置 - Google Patents

回路遅延時間演算装置

Info

Publication number
JPH07282095A
JPH07282095A JP6070383A JP7038394A JPH07282095A JP H07282095 A JPH07282095 A JP H07282095A JP 6070383 A JP6070383 A JP 6070383A JP 7038394 A JP7038394 A JP 7038394A JP H07282095 A JPH07282095 A JP H07282095A
Authority
JP
Japan
Prior art keywords
delay time
node
circuit
logic
gate
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.)
Withdrawn
Application number
JP6070383A
Other languages
English (en)
Inventor
Hisanori Fujisawa
久典 藤澤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6070383A priority Critical patent/JPH07282095A/ja
Publication of JPH07282095A publication Critical patent/JPH07282095A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 組合せ回路の遅延時間を演算する遅延時間演
算装置に関し,高速にかつ正確に最大もしくは最小遅延
時間を算出することを目的とする。 【構成】 回路データを入力する入力部(1')と,配線お
よび素子の遅延時間を保持する配線/素子遅延時間保持
部(2) と,回路データを保持する回路データ保持部(3)
と,回路の遅延時間を演算する遅延時間演算部(4) と,
回路の遅延時間の演算結果を出力する出力部(5) とを備
え,遅延時間演算部(4) は回路に入力される外部入力パ
ターンの論理が回路の各ノードに伝播する論理を解析す
る論理解析部(10)を備え,論理解析部(10)は,ノードの
論理を与える外部入力パターンの有無を判定し,ノード
の論理を実現する外部入力パターンが存在する論理のみ
により最大遅延時間を算出する構成をもつ。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,組合せ回路の遅延時間
を演算する回路遅延時間演算装置に関する。コンピュー
タを利用して回路設計する場合,回路の入出力間の遅延
時間を求める必要がある。回路が複雑な場合にはこのよ
うな遅延時間の計算は膨大な計算量を必要とするので,
効率的な演算装置が望まれる。
【0002】
【従来の技術】組合せ回路の入出力の遅延時間を算出す
る従来の方法は,次の通りである。まず,各ゲートの入
出力端子間の最大(もしくは最小)遅延時間とゲートの
最大(もしくは最小)遅延時間を求めておく(遅延時間
は最大遅延時間と,最小遅延時間を求める場合の2通り
があるが,以下,最大遅延時間について説明する。最小
遅延時間についても方法は同じである)。
【0003】図18を参照して従来の遅延時間算出方法
を説明する。図18において,110はアンドゲートで
ある。
【0004】111はインバータである。112は前段
回路である。a1 ,a3 は外部入力端子である。
【0005】a2 ,a4 はゲート入力端子であって,ア
ンドゲート110の入力端子である。a5 はゲート出力
端子であって,アンドゲート110の出力端子である。
【0006】a6 はゲート入力端子であって,インバー
タの入力端子である。a7 はゲート出力端子であって,
インバータ111の出力端子である。a8 は外部出力端
子である。
【0007】外部入力端子a1 ,a3 と外部出力端子a
8 間の遅延時間を算出する。アンドゲート110の
2 ,a5 間およびa4 ,a5 間およびインバータ11
1のa6 ,a7 間の遅延時間はあらかじめ求めておく。
また,配線a1 2 ,配線a3 4 ,配線a5 6 ,配
線a7 8 の遅延時間もあらかじめ求めておく。
【0008】まず,各外部入力端子a1 ,a3 から対象
ゲート110,111のゲート入力端子までの最大遅延
時間にそのゲート入力端子からそのゲート出力端子まで
の遅延時間を加算したもののうち最大のものをその対象
ゲートのゲート出力端子までの最大遅延時間とする。
【0009】例えば図18の場合,a1 2 間の遅延時
間にa2 5 の遅延時間を加算した遅延時間と,a3
4 間の遅延時間にa4 5 の遅延時間を加算した遅延時
間のうち大きい方をa5 の最大遅延時間t5 とする。
【0010】次に,求めたゲート出力端子a5 の最大遅
延時間t5 に,そのゲート出力端子a5 の接続先のゲー
ト入力端子a6 までの遅延時間を加算したものをそのゲ
ート入力端子a6 の最大遅延時間t6 とする。
【0011】さらに,インバータ111に対して同様の
手順で遅延時間を求め,外部入力端子a1 ,a3 から外
部出力端子a8 までの最大遅延時間を求める。
【0012】
【発明が解決しようとする課題】従来の回路の遅延時間
算出方法は,ゲート出力端子の遅延時間を算出する場
合,対象ゲートのゲート入力端子の論理パターン(ゲー
ト入力パターン)を全ての論理の組み合わせに基づいて
求めていた。
【0013】例えば,図18の回路の場合に,外部入力
端子a1 ,a3 の前に別の回路(例えばEOR)の出力
は(0,0)か(1,1)でしかないものとする。この
とき,アンドゲート110での遅延時間は,ゲート入力
パターンが(0,0),(1,1)である場合のみを考
慮して最大遅延時間を算出すれば良いが,従来は,それ
以外のあらゆる論理の組み合わせのパターンに基づいて
最大遅延時間を求めていた。
【0014】そのため,有り得ないゲート入力パターン
に対しても遅延時間を計算することとなり,実際以上に
最大遅延時間を過大に見積もったり,最小遅延時間を過
小に見積もったりすることがあった。また,演算速度を
低下させてもいた。
【0015】本発明は,高速にかつ正確に最大もしくは
最小遅延時間を算出することのできる回路遅延時間演算
装置を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明は,各ノード(外
部入力端子,ゲート入力端子,ゲート出力端子,外部出
力端子,配線端子等)の論理値を実現する対象入力端子
の論理パターンを記憶し,直前に接続しているノードの
遅延時間からそのノードの遅延時間を計算するにあたっ
ては,実際に実現するパターンのみを考慮して計算する
ようにした。
【0017】前段のノードから,対象ノードの遅延時間
を計算する方法は次の通りである。ノードがゲート出力
端子の場合,まずゲート入力端子の論理値の組み合わせ
に対して,その組合せが実現するような外部入力パター
ン(外部入力端子の入力パターン)が存在するかどうか
チェックする。もし存在すればその外部入力パターンの
組み合わせに対するゲート出力端子の論理および遅延時
間を計算する。もし,要求している遅延時間が最大遅延
時間であれば,当ゲートの論理を実現するゲート入力端
子の各ゲート入力パターンの最大遅延の中から,最大遅
延のものをその論理の最大遅延とする。また,要求して
いる遅延時間が最小遅延であれば,当ゲートの論理を実
現するゲート入力端子の各パターンの最小遅延のものを
その論理の最小遅延とする。
【0018】一方,ノードがゲート入力端子の場合に
は,当ノードに繋がっているゲート出力端子の遅延に,
配線遅延を加えたものを,当ノードの遅延時間とする。
配線による伝播では論理は変化しないので各論理を実現
する外部入力パターンの組に変化はない。
【0019】また,本発明は,このように遅延時間を求
めるために必要なノード論理の判定を論理式もしくは論
理情報の記憶による場合の他に,二分決定グラフ法によ
り必要な論理のみを求める場合の両方で実現した。
【0020】図1の本発明の基本構成の説明に先立ち,
二分決定グラフ法による場合について説明する。図2
(a)は二分決定グラフ法の説明図である(ナンドゲート
の場合)。
【0021】図2 (a)に示すように,二分決定グラフ
(以下,グラフと称する)は節(○)と枝(節(○)と
葉(正方形)を結ぶ線),葉(正方形)からなってい
る。節は入力変数に対応しており,二本の枝を持ってい
る。二本の枝は各節の入力変数の論理値に対応してお
り,別の節または葉に繋がっている。入力変数の間には
優先順位が付けられており,もとの節(A)の入力変数
の方が枝を介して接続している節(B)の入力変数より
優先順位が高いものとする。また,葉は,考慮している
ノードの論理値の最大または最小遅延情報を持ってい
る。二分決定グラフ法はルートと呼ぶ節をもっており,
ルートから葉までの経路(優先順位の低い変数(優先順
位の低い節の変数)から高い変数(優先順位の高い節の
変数)の節へ行くような経路は考慮しない)は,その経
路の節が経路上の論理をとった場合に,到達した葉に対
応した論理値を持つことを表している。枝に沿って記述
してある数字は,その枝をもつ節の入力変数の論理を表
している。正方形(葉)の中は出力論理で,その下の括
弧で括られた数値は遅延時間を示している。入力変数の
優先順位はAの方が高い。
【0022】前段のノードのグラフから,当ノードのグ
ラフを作成する手法は以下の通りである。ノードがゲー
ト出力端子の場合,まずゲート入力端子のグラフに対し
てゲートの論理演算を行うことにより,当ノードの論理
値を表現するグラフを作成する(作成方法は(「“Gr
aph−Based Algorithms forB
oolean Function Manipulat
ion”,Rndal E.Bryant,IEEE
Transaction on Computers.
Vol.C−35,No8,pp677〜691,19
86,8」参照)。グラフ同士の演算により新しいグラ
フを作成する過程において,新しく得られるグラフの葉
の遅延時間については,その葉が得られる(その葉の論
理を実現する)ゲートの入力端子の論理の組み合わせパ
ターンが入力した際の最大(最小)遅延時間を,その葉
の遅延時間とする。また,葉のリダクション(同じ論理
をもつ葉を一つにまとめる(図2 (b)参照)場合には,
もし要求している遅延時間が最大遅延時間であれば,最
大遅延のものをその論理の最大遅延とし,要求している
遅延が最小遅延であれば,最小遅延のものをその論理の
最小遅延とする。この処理をグラフ演算に付加すること
により該当ノードのグラフと遅延時間が求められる。
【0023】一方ノードがゲートの入力端子の場合に
は,当ノードに繋がっているゲートの出力端子のグラフ
の各論理の遅延に配線による遅延を加えたものを,当ノ
ードのグラフとする。
【0024】図1は本発明の基本構成を示す図である。
図1において,1は回路遅延時間演算装置である。
【0025】2は配線/素子遅延時間保持部であって,
配線の遅延時間と素子(ゲート等)の遅延時間を保持す
るものである。3は回路データ保持部であって,ノード
の結合情報であるネットリスト,回路特性を示すパラメ
ータ等の回路データを保持するものである。
【0026】4は遅延時間演算部であって,回路の遅延
時間を演算するものである。5は出力部であって,演算
結果を出力するものである。遅延時間演算部4におい
て,10は論理解析部であって,各ノードにおける論理
を解析するものであり,各ノードの論理を与える外部入
力パターン(外部入力端子に与えられる入力変数の組)
の論理を求めるための論理式もしくは論理情報(真理値
表等)をノード毎に求め,外部入力端子の論理を実現す
る外部入力パターンの有無を判定するものである。ある
いは,二分決定グラフを求めるものである。
【0027】11は演算部であって,ノードの有効パタ
ーン(ノードの論理を実現する外部入力パターンが存在
するノードの論理パターン)に基づいて遅延時間を算出
するものである。
【0028】12は最大もしくは最小遅延時間判定部で
あって,計算された遅延時間最大もしくは最小遅延時間
を求めるものである。13はパターン遅延時間保持部で
あって,ノードの論理を与える外部入力パターンを求め
るための論理式もしくは論理情報を保持するとともに,
最大遅延時間を保持するものである。
【0029】
【作用】図1の本発明の基本構成の動作を説明する。図
1において,例えば,外部出力端子から外部入力端子に
向かって各ノードを遡り,論理解析部10は外部入力端
子から近いノードから順番に対象ノードの遅延時間およ
び論理式もしくは論理情報(ノードの論理を実現する外
部入力パターンを求めるための論理式もしくは論理情報
であって,以後単に論理式もしくは論理情報と称する)
を求める。そして,ノードの論理特性により決められる
ノードの論理を実現する外部入力パターンの有無を判定
する。そして,演算部11は,ノードの遅延時間を求め
るのに必要なノードの論理のうち外部入力パターンの存
在するノードの論理についてのみ,その論理が伝播する
遅延時間を算出する。最大もしくは最小遅延時間判定部
12は求められた遅延時間のうち対象ノードで最大(も
しくは最小)のものを求める。パターン遅延時間保持部
13はその対象ノードの論理式もしくは論理情報および
最大遅延時間を保持する。
【0030】以上の処理を外部入力端子に近いノードか
ら外部出力端子まで順番に繰り返し,外部出力端子の最
大もしくは最小遅延時間を求め,出力部5に出力する。
図3の回路により具体的に説明する。ゲートG4 に着目
する。ゲートG4 のゲート入力端子a11,a13(いずれ
もノード)について考える。外部入力パターン(a,
b,c)に対してa11の論理を1とする論理式は(−
a)・(−c)である(−は否定を表す。例えば(−
b)はbの否定論理である)。即ち,(−a)・(−
c)=1とするa,cの論理はa=0かつc=0であ
る。従って,論理式(−a)・(−c)によりa11の論
理1もしくは論理0を与える外部入力パターン(a,
b,c)の組を求めることができる。同様にa13の論理
式は(−b)・cである。
【0031】一方,ゲートG4 の出力を1とする入力端
子a11,a13のとる論理パターンは(0,0)と(1,
1)である。そして,(a11,a13)を(0,0)とす
る外部入力パターン(a,b,c)は,次の論理式 (−((−a)・(−c)))・(−((−b)・
c))=a・b+a・(−c)+b・c=1とするもの
である。
【0032】論理解析部10は,(a,b,c)の組み
合せパターンから,そのような有効な外部入力パターン
は(1,*,0)もしくは(*,1,1)であることを
判定する(*は0,1いずれでも良い)である。そし
て,G4 の出力を1とする場合の遅延時間の演算はこの
二通りのパターンについてのみなされ,ゲートG4 の遅
延時間が求められる。また,ゲートG4 の入力(a11
13)を(1,1)とする論理式は, ((−a)・(−c))・((−b)・c)=1 である。この式は(a,b,c)の全てのパターンに対
して恒等的に0であるので,(a11,a13)を(1,
1)とする外部入力パターンは存在しない。従って,論
理解析部10は上記の論理式を満たす外部入力パターン
は存在しないことを判定し,遅延時間判定部12はその
ようなゲート入力パターンについては遅延時間の計算は
行わない(なお,図3の回路の遅延時間の算出方法の詳
細については後述する)。さらに,G4 の出力を0とす
る場合についても同様に外部入力パターンの有無を判定
し,有効なゲート入力パターンについてのみ遅延時間を
求める。
【0033】本発明によれば,素子の入力論理パターン
について,実際に発生する有効なゲート入力パターンに
ついのみ遅延時間を求めるので,少ない演算回数で正確
な遅延時間を算出することが可能となる。
【0034】
【実施例】本発明の実施例の装置構成を説明する前に,
図3を参照して本発明の回路遅延時間演算方法について
説明する。
【0035】図3は本発明の実施例を説明するための回
路例である。図3において,G1 はゲートであって,
ンバータである。
【0036】G2 はゲートであって, ノアゲートであ
る。G3 はゲートであって, ノアゲートである。G4
ゲートであって, 排他的論理回路である。
【0037】A(=a1 )は外部入力端子(ノード)で
ある。B(=a6 )は外部入力端子(ノード)である。
C(=a3 )は外部端子(ノード)Aの入力である。
【0038】a2 ,a4 はゲートG2 のゲート入力端子
(ノード)である。a10はゲートG2 のゲート出力端子
(ノード)である。a5 はゲートG1 のゲート入力端子
(ノード)である。
【0039】a8 はゲートG1 のゲート出力端子(ノー
ド)である。a7 ,a9 はゲートG3 のゲート入力端子
(ノード)である。a12はゲートG3 のゲート出力端子
(ノード)である。
【0040】a11,a13はゲートG4 のゲート入力端子
(ノード)である。a14はゲートG4 のゲート出力端子
(ノード)である。OUT(=a15)は外部出力端子で
ある。
【0041】説明を簡単にするために,遅延時間の計算
において,各ゲート間の配線時間は1とする。また,入
力が変化したときに出力がLからHに変化する遅延をア
ップ遅延と呼ぶ。入力が変化したとき,出力がHからL
に変化する遅延をダウン遅延と呼ぶ。また,インバータ
1 のアップ遅延は8,ダウン遅延は6とする。ノアゲ
ートG2 ,G3 のアップ遅延は10,ダウン遅延は7と
する。排他的論理回路G4 のアップは9,ダウンは7で
あるとする。
【0042】以下ノードaj のアップ遅延をaj ↑,ダ
ウンをaj ↓で表すものとする。本発明の装置構成を説
明する前に,論理式により有効なゲート入力パターン
(有効なノードの論理)を求める場合の遅延時間演算方
法について説明する(二分決定グラフによらない場
合)。
【0043】外部入力端子A,B,Cから外部出力端子
(OUT)までの最大遅延時間を計算する。a15から入
力端子側にパスを辿る。a11とa13はともに,未処理な
ので,まずa13を選択する。再び未処理の入力をもつノ
アゲートG3 にたどりつく。そこで,a7 を選択して,
さらに溯り,外部入力ノードa6 に到達する。その遅延
時間は0である。a7 の遅延時間はa6 の遅延時間にa
6 −a7 間の配線遅延を加えたものである。
【0044】a7 ↑=a6 ↑+1=1 a7 ↓=a6 ↓+1=1 である。
【0045】また,ノードa7 の論理式は, b である。b=1のときa7 =1であり,b=0のときa
7 =0である。a7 のこの論理式もしくは論理条件(真
理値表等)をa7 に対応付けて保持する。
【0046】次は,a9 の遅延時間を計算する。a9
ら溯ると,外部入力ノードa3 に到達する。ノードa3
の遅延時間は0であるから,a5 のノードの遅延時間
は,a 3 の遅延時間に配線遅延1を加えた a5 ↑=a3 ↑+1=1 a5 ↓=a3 ↓+1=1 a5 の論理式は c である。ノードa5 にこの論理式もしくは論理情報を保
持する。
【0047】さらに,出力側に戻ってa8 の遅延時間を
計算する。a8 はインバータの出力であるから,a8
1となるのは入力ノードa5 か0の時である。この時,
入力パターンはc=0の時であるから,遅延時間は a8 ↑=a5 ↓+8=9 である。また,a8 が0となるのは入力ノードa5 が1
の時である。この時の入力パターンはc=1の時である
から,遅延時間は, a8 ↓=a5 ↑+6=7 となる。また,a8 が1となる時の入力パターンはc=
0であるから,論理式は (−c) である。ノードa8 にこの論理式もしくは論理情報を保
持する。
【0048】そこで,配線遅延1をアップ遅延とダウン
遅延に加えると, a9 ↑=a8 ↑+1=10 a9 ↓=a8 ↓+1=8 である。
【0049】a7 ,a9 の遅延時間が得られたので,a
12の遅延時間を計算する。ゲート入力端子(a7
9 )の組合せは(0,0),(1,0),(1,
1),(0,1)である。a9 の論理式は(−c),a
7 の論理式はbである。従って,a12=1とするG3
入力側の論理条件は,−(b+(−c))=1である。
この式からa12=1とする外部入力パターン(*,0,
1)が求まる。従ってa12↑はa7 ↓とa9 ↓に各々遅
延を加えたものの最大のものとなる。またG3 の出力側
を0とする入力側の論理条件は,−(b+(−c))=
0である。その外部入力パターンは(*,1,*)また
は(*,*,0)である。従ってa12↑はゲート入力の
パターン(1,*)と(*,1)の遅延の遅いものとな
る。
【0050】従って,a12↑,a12↓は次のように求ま
る。 a12↑=MAX(a7 ↓+10,a9 ↓+10)=18 a12↓=MAX(a7 ↑+7,a9 ↑+7)=17 である(但し,MAXは括弧内の値のうち大きい方を選
択することを表す)。
【0051】a13はa12にa12−a13間の配線遅延時間
を加算したものである。即ち, a13↑=a12↑+1 a13↓=a12↓+1 である。
【0052】次にa14の遅延時間を計算する。a14の論
理値が1となる場合について考える。このような出力と
なる(a11,a13)の組は(0,0)と(1,1)であ
る。
【0053】a11,とa13の論理式はそれぞれ(−a)
・(−c),(−b)・cと表すことができる。そこ
で,(0,0)のパターンを実現する論理式は (−((−a)・(−c)))・(−((−b)・
c)) =(a+c)・(b+(−c)) =(a・b)+a・(−c)+b・c=a・(−c)+
b・c であるから a・(−c)+b・c=1 とするものである(前述)。
【0054】この関係から,G4 の入力が(0,0)と
なる組合せは(a,b,c)=(1,*,0),(*,
1,1)が求まる(*は0でも1でも良いことを表して
いる)。
【0055】一方,G4 の入力が(1,1)となる論理
式は (−a)・(−c)・(−b)・c=1 である。しかし,(−a)・(−c)・(−b)・cは
どのようなa,b,cの組合せに対しても0であるの
で,(−a)・(−c)・(−b)・c=1となる組合
せはなく,G4 の入力を(1,1)とする入力(a,
b,c)は存在しない。
【0056】従って,a11↑,a13↑は考慮する必要が
ない。a14のダウン遅延は, a14↓=MAX(a11↓+7,a13↓+7)=25 と求めるだけで良い。
【0057】仮に,従来のように入力パターンの組合せ
を考慮しないと, a14↓=MAX(MAX(a11↓+7,a13↓+7),
MAX(a11↑+7,a13↑+7))=26 となる。
【0058】a14=0となる場合も,同様にして,この
ような出力値を与えるG4 の入力値は(0,1),
(1,0)であり,このようなパターンを与える入力パ
ターンの組合せは(0,*,0),(*,0,1)であ
る。前者のパターンはa11=0,a13=1となり,後者
のパターンはa11=1,a13=0となる。従って,アッ
プ遅延時間は,次のように求まる。
【0059】a14↓=MAX(MAX(a11↓+9,a
13↑+9),MAX(a11↑+9,a13↓+9))=2
8である。a15はa14に配線遅延時間を加えたものであ
り,出力ノードにおけるアップ遅延は29,ダウン遅延
は26が得られる。
【0060】図4は本発明の実施例構成1を示す。図4
は論理式もしくは論理情報の記憶により有効なゲート入
力パターンを求める場合の構成を示す。図4において,
20は制御部であって,各ブロック間のデータの流れを
制御するものである。
【0061】21は入力部であって,回路データを読み
込んで回路データ記憶部23に書き込むものである。2
2は遅延時間演算手段である。
【0062】23は回路データ記憶部であって,ゲート
パラメータ,配線パラメータ,ネットリスト等を保持す
るものである(図1の回路データ保持手段に相当す
る)。24は配線/ゲート遅延時間記憶部であって,配
線遅延時間,ゲート遅延時間等を保持するものである
(図1の配線/素子遅延時間保持部に相当する)。
【0063】25はパターン/遅延時間記憶部であっ
て,有効な外部入力パターン,ノードの論理式(もしく
は真理値表等の論理情報),ノードの遅延時間等を保持
するものである(図1のパターン/遅延時間保持部に相
当する)。
【0064】30は配線/ゲート遅延時間計算部であっ
て,回路データ記憶部23に記憶されている回路データ
(配線長,配線幅,素子の特性,ゲート幅等)に基づい
て,配線遅延時間,ゲード遅延時間を計算するものであ
る。
【0065】31はパス解析部であって,回路データに
基づいて回路のパスを出力側から入力側にたどり,回路
解析を行うものである。32は遅延時間演算部である。
【0066】33は論理解析部であって,論理パターン
の解析を行い,有効なゲート入力パターン,外部入力パ
ターンを求めるものである。34は演算部であって,遅
延時間を計算するものである。
【0067】35は最大遅延時間判定部であって,最大
遅延時間を求めるものである。36は出力部である。図
5は本発明の実施例構成1のフローを示す。
【0068】S1 配線/ゲート遅延時間計算部30は
配線,ゲートの遅延時間を求め,配線/ゲート遅延時間
記憶部24に格納する。 S2 パス解析部31は遅延時間の演算対象とするノー
ド(対象ノード)を求める。
【0069】S3 処理Aを実行する(処理Aは図6参
照)。図6は処理Aのフローである。 S1 遅延時間演算部32において,ノードは外部入力
端子,ゲート端子,ゲート入力端子のどれであるかを判
定する。外部入力端子(図3のa1 ,a3 ,a 6 )であ
ればS2に進む。ゲート出力端子(図3のa8 ,a10
12,a14)であればS3に進む。ゲート入力端子(a
2 ,a4 ,a5 ,a7 ,a9 ,s11,a 13)であれば,
S6に進む。
【0070】S2 外部入力端子であるので,ノードの
遅延時間は0である。 S3 すべてのゲート入力端子の遅延時間は求められて
いるか判定する。求められていればS5に進み,求めら
れていなければS4に進む。
【0071】S4 遅延時間未定の入力端子ノードに対
して処理Aを実行する(S6以降の処理)。 S5 ゲート遅延時間のデータからゲート出力端子の遅
延時間を計算する(遅延時間の算出の詳細フローは図7
で説明する)。
【0072】S6 前段の出力端子の遅延時間は求めら
れているか判定する。求められていればS8に進み,求
められていなければS7に進む。 S7 出力端子ノードに対して処理Aを実行する(S3
以降の処理)。
【0073】S8 出力端子の遅延時間に対して配線遅
延時間を加算したものをノードの遅延時間とする。図7
は本発明のゲート出力端子の遅延時間の計算のフローで
ある(図6のS5の処理)。
【0074】S1 ゲート入力のすべてのパターン(ゲ
ート入力パターン)について以下の処理を行う。 S2 ゲート入力端子の論理値を表す論理集合を求める
(論理解析部の処理)。
【0075】S3 すべてのゲート入力端子の論理集合
についてANDをとる(論理解析部の処理)。 S4 得られた論理集合が空集合か判定する(論理解析
部の処理)。
【0076】S5 遅延時間を計算する(演算部の処
理)。 S6 ゲート入力パターンによる出力端子の論理値を求
める。出力端子の論理値がH(アップ遅延)であればS
7に進む。出力端子の論理値がL(ダウン遅延)であれ
ばS9に進む。
【0077】S7 出力端子の論理値がHとなるパター
ンのこれまで得られた最大(もしくは最小)遅延と比較
する(最大遅延時間判定部の処理)。最大でなければS
1以降の処理を繰り返す。最大であればS8に進む。
【0078】S8 新しい遅延時間を最大(もしくは最
小)遅延時間とし,S1に戻る。 S9 出力端子の論理値がLとなるパターンのこれまで
得られた最大(最小)遅延と比較する。最大(もしくは
最小)遅延でなければS1に戻る。最大(もしくは最
小)遅延であればS10に進む。
【0079】S10 新しい遅延時間を最大遅延時間と
し,S1に戻る。S1において,ゲートの全てについて
処理がなされたら,処理を終了する。図8,図9は二分
決定グラフ法により最大遅延時間を計算する方法を示
す。
【0080】図8,図9により二分決定グラフ法により
最大遅延時間を計算する方法について説明する。a15
ら入力側にパスを溯る。a11とa13はともに,未処理な
ので,まずa13を選択する。そして,再び未入力の入力
をもつ二入力ゲートG3 にたどりつくので,先にa7
選択してさらに溯り,Bに到達する。B(=a6 )は入
力ノードであり,そのグラフは図8(e)のように表さ
れる。遅延時間は0である。次にa7 のグラフを作成す
る。a7 のグラフはa6 のグラフにa6 −a7 間の配線
遅延を加えたものである。そこで,図8(e)のグラフ
の葉の各遅延時間に1を加え,図8(e)のグラフを得
る。a7 のグラフが得られたので,次はa9 のグラフを
作成する。a9 から遡ると,外部入力ノードa3 に達す
る。ノードa3 のグラフは図8(c)のように表され
る。さらに,出力側に戻って,a8 のグラフを作る。a
8 はインバータの出力であるから,入力ノードのa5
グラフの理論値を入れ換えたものが,a8 のグラフとな
る。また,遅延はそれぞれの遅延にインバータの遅延を
加算したものである(図8(g))。
【0081】a8 ↑=a5 ↓+8=9 a8 ↓=a5 ↑+6=7 を求め,図8(e)のグラフを得る。
【0082】さらに,配線遅延1をアップ遅延,ダウン
遅延に加えるとa9 のグラフが得られる(図9
(h))。こうして,a7 とa9 のグラフが得られたの
で,ゲートG 3 の入出力論理を考慮してa12のグラフを
作成する。作成されるグラフは図9の(k)のようにな
る。ここで遅延は, a12↑=MAX(a7 ↓+10,a9 ↓+10)=18 a12↓=MAX(a7 ↑+7,a9 ↑+7)=17 で計算される。a13のグラフはa12のグラフに配線遅延
を加えたものである。そこで,図9(l)のグラフを得
る。a13が得られたので,次にa11のグラフを求める。
11もa13同様にして計算すると,図9(j)のグラフ
が得られる。a14はa12とa14のグラフに配線遅延を加
えたものである。そして,図9(nのグラフが得られ
る。遅延時間は, a14↓=MAX(a11↓+7,a13↓+7)=25 a14↑=MAX(MAX(a11↓+9,a13↑+9),
MAX(a11+9,a13↓+9))=28 である。
【0083】a15はa14のグラフに配線遅延を加えたも
のである。そして,図9(n)のグラフが得られる。こ
うして,出力ノードa15におけるアップ遅延は29,ダ
ウン遅延は26が得られる。
【0084】図10,図11,図12は本発明の二分決
定グラフ法による場合のアルゴリズムである。図10
(a)はノードのデータ構造の定義である。
【0085】vertexはノードであって,high
はHの論理値を持つ枝につながるノードを定義し,lo
wはLの論理値を持つ枝につながるノードを定義する。
delay(延時間)は実数であることを定義する。
【0086】図10 (b)以降,図11,図12は,二入
力ゲートにおけるグラフ作成アルゴリズム(最大遅延の
場合)である。図11において,51は最大遅延を求め
る処理である(例えば,図14の演算を行うものである
(後述))。
【0087】52はグラフを求める処理である。53は
メインルーチンである。メインルーチン53において,
処理60により図10の処理62以降の処理を行う。そ
して,その処理が全てなされると処理61により図12
の処理63以降のリダクションの処理を行う。
【0088】図12において,54はリダクションの処
理である。55は最大遅延を選択する処理であって,葉
をリダクションするときにそれぞれの保持する最大リダ
クションのうち最大のものを選択する処理を行う。
【0089】図13は本発明のグラフ法による場合のア
ルゴリズムにおける<op>の意味の説明図である。<
op>はゲートの演算を表し,ANDゲートの場合は,
A<op>Bは図示の論理を演算する。Xは1もしくは
0のいずれでも良いことを表す。
【0090】図14は本発明のグラフ法による場合のア
ルゴリズムにおける<delayop>の意味の説明図
である。<delayop>はゲート出力の遅延時間を
計算する演算子を表す。図はANDゲートの場合の演算
論理を示す。
【0091】A・value,B・valueともに,
1の場合は出力は1であるので,A側のdelayとB
側のdelayの大きい方を遅延とする。A側のdel
ayはA端子のゲートにおけるdelayとその時の出
力側のアップ遅延αA ↑の和であり,B側のdelay
はB端子のゲートにおけるdelayとその時の出力側
のアップ遅延αB↑の和であるので, その大きい方を選
択する。
【0092】以下同様に,他の入力論理の場合は図示の
論理の演算を行う。図15は本発明のグラフ法のアルゴ
リズムのフローチャートである。図15 (a)はメインル
ーチンの処理である(図11の53参照)。
【0093】S1 グラフG1とG2に対して処理1
(apply−step)を適用する。 S2 得られたグラフに対して処理2を行う(redu
ce)。
【0094】図15 (b)は最大遅延を求める処理であっ
て,処理1(apply−step)である。 S1 新しいノードを作成する。
【0095】S2 グラフG1とグラフG2のルートノ
ード(v1およびv2)の値(value)に対して演
算<op>を行い,新規ノードの値とする。 S3 値がX(図13,図14のXと異なる)でなけれ
ば,S5に進み,XであればS4に進む。
【0096】S4 グラフの作成処理をする(図16参
照)。 S5 新規ノードのインデックス(index)にn+
1を代入する。 S6 グラフG1とグラフG2のルートノード(v1お
よびv2)に対して演算<delayop>を行って,
遅延時間を計算する。
【0097】図16は本発明のグラフ法における場合の
アルゴリズムのフローチャートであって,図15のS4
の処理である。 S1 v1とv2を比較する。v1のindex<v2
のindexであればS2に進み,v1のindex=
v2のindexであればS3に進み,v1のinde
x>v2のindexであればS4に進む。
【0098】S5 v1のインデックス(index)
を新規ノードのインデックス(index)とする。 S6 v2のインデックスを新規ノードのインデックス
(index)とする。
【0099】S7 vlow1とvhigh1をルート
とするグラフ処理1(apply−step)を適用
し,できたグラフを新規ノードの右枝(low)におさ
める。 S8 vlow2とvhigh2をルートとするグラフ
処理1(apply−step)を適用し,できたグラ
フを新規ノードの左枝(high)におさめる。
【0100】図17は本発明のグラフ法のアルゴリズム
におけるリダクションの処理のフローチャートである。 S1 左右の枝(lowとhigh)が同一ノードを指
しているノードを削除する。
【0101】S2 グラフの中のノードのうち左右の枝
が互いに同じノードを指しているノードの組を検索し,
存在しなければ、終了する。 S3 存在すれば,これらのノードをひとつにまとめ
る。
【0102】S4 これらのノードが葉(termin
al node)ならば,これらのノードの遅延時間の
うち最大(最小)のものを新しいノードの遅延時間とす
る。
【0103】
【発明の効果】本発明によれば,実際には生じない無駄
なゲート入力のパターンは計算しないので回路の最大遅
延時間もしくは最小遅延時間を正確に計算できるととも
に,処理が高速化される。また,二分決定グラフ法を利
用した場合には,各ノードの入力パターンの解析を高速
に行うことができ,正確な遅延時間を高速に算出する。
【図面の簡単な説明】
【図1】本発明の基本構成を示す図である。
【図2】二分決定グラフ法の説明図である。
【図3】回路例を示す図である。
【図4】本発明の実施例構成1を示す図である。
【図5】本発明の実施例構成1のフローを示す図であ
る。
【図6】本発明の処理Aのフローを示す図である
【図7】本発明の出力端子の遅延時間の計算のフローを
示す図である。
【図8】二分決定グラフ法により最大遅延時間を計算す
る方法(実施例2)を示す図である。
【図9】二分決定グラフ法により最大遅延時間を計算す
る方法(実施例2)を示す図である。
【図10】本発明のグラフ法による場合のアルゴリズム
を示す図である。
【図11】本発明のグラフ法による場合のアルゴリズム
を示す図である。
【図12】本発明のグラフ法による場合のアルゴリズム
を示す図である。
【図13】本発明のグラフ法による場合のアルゴリズム
の説明図である。
【図14】本発明のグラフ法による場合のアルゴリスム
の説明図である。
【図15】本発明のグラフ法のアルゴリズムのフローチ
ャートを示す図である。
【図16】本発明のグラフ法による場合のアルゴリズム
のフローチャートを示す図である。
【図17】本発明のグラフ法による場合のアルゴリズム
のフローチャートを示す図である。
【図18】従来の遅延時間算出方法の説明図である。
【0122】
【符号の説明】
1:回路遅延時間演算装置 1’:入力部 2:配線/素子遅延時間保持部 3:回路データ保持部 4:遅延時間演算部 5:出力部 10:論理解析部 11:演算部 12:最大もしくは最小遅延時間判定部 13:パターン遅延時間保持部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 回路データを入力する入力部(1')と,配
    線および素子の遅延時間を保持する配線/素子遅延時間
    保持部(2) と,回路データを保持する回路データ保持部
    (3) と,回路の遅延時間を演算する遅延時間演算部(4)
    と,回路の遅延時間の演算結果を出力する出力部(5) と
    を備え,該遅延時間演算部(4) は回路に入力される外部
    入力パターンの論理が回路の各ノードに伝播する論理を
    解析する論理解析部(10)を備え,該論理解析部(10)は,
    ノードの論理を与える外部入力パターンの有無を判定
    し,該ノードの論理を実現する外部入力パターンが存在
    する論理のみにより最大遅延時間を算出することを特徴
    とする回路遅延時間演算装置。
  2. 【請求項2】 請求項1において,該論理解析部(10)
    は,ノード毎に該ノードの論理を与える外部入力パター
    ンの論理を求める論理式もしくは論理情報を保持し,素
    子の出力論理を与える素子の入力側のノードの論理を実
    現する外部入力パターンの有無を該素子の入力側のノー
    ドの論理式もしくは論理情報に基づいて判定することを
    特徴とする回路遅延時間演算装置。
  3. 【請求項3】 回路データを入力する入力部(1')と,配
    線および素子の遅延時間を保持する配線/素子遅延時間
    保持部(2) と,回路データを保持する回路データ保持部
    (3) と,回路の遅延時間を演算する遅延時間演算部(4)
    と,回路の遅延時間の演算結果を出力する出力部(5) と
    を備え,該遅延時間演算部(4) は,二分決定グラフ法に
    より素子の入力端子および配線等のノードの論理を実現
    する外部入力パターンを求める論理解析部(10)を備え,
    該二分決定グラフにより各ノードのグラフ求め,求めた
    グラフの葉にその葉の論理を伝播する遅延時間を付加
    し,対象ノードと該対象ノードの前段ノードとの論理関
    係および前段のノードの遅延時間に基づいて対象ノード
    のグラフと遅延時間を求めることを特徴とする回路遅延
    時間演算装置。
JP6070383A 1994-04-08 1994-04-08 回路遅延時間演算装置 Withdrawn JPH07282095A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6070383A JPH07282095A (ja) 1994-04-08 1994-04-08 回路遅延時間演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6070383A JPH07282095A (ja) 1994-04-08 1994-04-08 回路遅延時間演算装置

Publications (1)

Publication Number Publication Date
JPH07282095A true JPH07282095A (ja) 1995-10-27

Family

ID=13429874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6070383A Withdrawn JPH07282095A (ja) 1994-04-08 1994-04-08 回路遅延時間演算装置

Country Status (1)

Country Link
JP (1) JPH07282095A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720663B1 (en) 1998-03-27 2010-05-18 Nec Corporation Delay analysis system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720663B1 (en) 1998-03-27 2010-05-18 Nec Corporation Delay analysis system

Similar Documents

Publication Publication Date Title
US10089426B2 (en) Logic circuit generation device and method
US6457159B1 (en) Functional timing analysis for characterization of virtual component blocks
US10268450B2 (en) Approximating functions
Deliparaschos et al. Design and implementation of a fast digital fuzzy logic controller using FPGA technology
US5856926A (en) Logic synthesis method and system with intermediate circuit files
Possani et al. Optimizing transistor networks using a graph-based technique
JPH07282095A (ja) 回路遅延時間演算装置
US6167557A (en) Method and apparatus for logic synthesis employing size independent timing optimization
Zelmat et al. Multi-objective approach for IIR filter design and bit-width optimization
JPWO2020090025A1 (ja) 演算処理装置および演算処理装置の制御方法
Gibbs et al. Numerical evaluation of oscillatory integrals via automated steepest descent contour deformation
Zapletina et al. Pathfinder Algorithm Modification for FPGA Routing Stage
EP0474226A2 (en) Digitial filter composing apparatus and digital filter composing method therefor
JPH08123664A (ja) 絶対値計算方法および回路
US11113446B2 (en) Yield improving leaf cells optimization for semiconductor netlists
JP2008117398A5 (ja)
US9659135B2 (en) Logic structure aware circuit routing
WO2013061464A1 (ja) 最適領域抽出方法およびその装置
KR940008610B1 (ko) 고속 수렴 인자 결정 방법 및 프로세서
CN116579294A (zh) 一种基于关键路径的门尺寸优化方法
KR100396237B1 (ko) 반복적 과도 근사 도달 상태 계산 방법 및 장치
Konrad et al. Divider verification using symbolic computer algebra and delayed don’t care optimization: theory and practical implementation
JPH08272847A (ja) 設計支援装置
Verhaegen et al. Efficient symbolic analysis of analog integrated circuits using determinant decision diagrams
Kim et al. DEMI: A delay minimization algorithm for cell-based digital VLSI design

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010703