JPH0567169A - 回路合成システム - Google Patents
回路合成システムInfo
- Publication number
- JPH0567169A JPH0567169A JP3226012A JP22601291A JPH0567169A JP H0567169 A JPH0567169 A JP H0567169A JP 3226012 A JP3226012 A JP 3226012A JP 22601291 A JP22601291 A JP 22601291A JP H0567169 A JPH0567169 A JP H0567169A
- Authority
- JP
- Japan
- Prior art keywords
- load
- timing
- unit
- check
- output
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S706/00—Data processing: artificial intelligence
- Y10S706/902—Application using ai with detail of the ai system
- Y10S706/919—Designing, planning, programming, CAD, CASE
- Y10S706/921—Layout, e.g. circuit, construction
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
(57)【要約】
【目的】 本発明は機能仕様を基に回路を合成する回路
合成システムに関し、負荷調整とタイミング調整を効率
よく行うことができる回路合成システムを提供すること
を目的としている。 【構成】 論理式や真理値表等の機能仕様を入力して論
理の最小化を行う論理最小化部1と、該論理最小化部1
の出力を受けて最小化した論理毎にセルを割り付けるセ
ル割付部2と、該セル割付部2の出力を受けて、負荷チ
ェックとタイミングチェックを同時に行う負荷/タイミ
ングチェック部3と、該負荷/タイミングチェック部3
の出力を受けて負荷調整を行う負荷調整部4と、該負荷
/タイミングチェック部3の出力を受けてタイミング調
整を行うタイミング調整部5とにより構成される。
合成システムに関し、負荷調整とタイミング調整を効率
よく行うことができる回路合成システムを提供すること
を目的としている。 【構成】 論理式や真理値表等の機能仕様を入力して論
理の最小化を行う論理最小化部1と、該論理最小化部1
の出力を受けて最小化した論理毎にセルを割り付けるセ
ル割付部2と、該セル割付部2の出力を受けて、負荷チ
ェックとタイミングチェックを同時に行う負荷/タイミ
ングチェック部3と、該負荷/タイミングチェック部3
の出力を受けて負荷調整を行う負荷調整部4と、該負荷
/タイミングチェック部3の出力を受けてタイミング調
整を行うタイミング調整部5とにより構成される。
Description
【0001】
【産業上の利用分野】本発明は機能仕様を基に回路を合
成する回路合成システムに関する。一般に、回路(特に
LSI回路)はタイミング(時間遅れ)や負荷が許容範
囲である時、規模(ゲート数)が小さい程コストが安く
有利である。また、一般的に規模を最小化した回路は論
理段数が増加するので、遅延時間が大きくなる。また、
高い周波数のクロックで動作する高速回路の場合には、
規模が増大することが知られている。
成する回路合成システムに関する。一般に、回路(特に
LSI回路)はタイミング(時間遅れ)や負荷が許容範
囲である時、規模(ゲート数)が小さい程コストが安く
有利である。また、一般的に規模を最小化した回路は論
理段数が増加するので、遅延時間が大きくなる。また、
高い周波数のクロックで動作する高速回路の場合には、
規模が増大することが知られている。
【0002】このため、回路合成処理では、最初に規模
を最小化する目的で回路を合成し、その後、遅延時間等
のタイミングのチェックを行い、条件を満たさない箇所
に対して遅延時間削減等の処理を行うのが普通である。
近年、計算機や通信機等の論理装置は、高機能化や回路
の大規模化が進展しており、論理回路設計の複雑さは増
加の一途を辿っている。これに反して、激化する製品競
争に勝ち抜くため、開発期間の短縮が要請され、このた
め、論理回路の自動設計システムが注目されてきてい
る。
を最小化する目的で回路を合成し、その後、遅延時間等
のタイミングのチェックを行い、条件を満たさない箇所
に対して遅延時間削減等の処理を行うのが普通である。
近年、計算機や通信機等の論理装置は、高機能化や回路
の大規模化が進展しており、論理回路設計の複雑さは増
加の一途を辿っている。これに反して、激化する製品競
争に勝ち抜くため、開発期間の短縮が要請され、このた
め、論理回路の自動設計システムが注目されてきてい
る。
【0003】
【従来の技術】図8は従来方式の動作を示すフローチャ
ートである。先ず、論理式や真理値表等の機能仕様が入
力されると、論理の最小化処理が行われる(S1)。次
に、最小化された論理のそれぞれに対してセル(回路素
子)の割付けを行う(S2)。この状態で回路が自動生
成されていることになる。
ートである。先ず、論理式や真理値表等の機能仕様が入
力されると、論理の最小化処理が行われる(S1)。次
に、最小化された論理のそれぞれに対してセル(回路素
子)の割付けを行う(S2)。この状態で回路が自動生
成されていることになる。
【0004】次に、生成された回路に対して回路素子に
対する負荷チェックを行い、その負荷チェックに基づい
て負荷調整を行う。ここで、負荷チェックとは、例えば
図9に示すように1個のゲートに何個のゲートが接続さ
れているかを調べることをいう。例えば、ゲートG1に
G20からG2nまでのn+1個のゲートが接続されて
いる場合、ゲートG1のファンアウト数がn+1個以上
あれば、問題はない。
対する負荷チェックを行い、その負荷チェックに基づい
て負荷調整を行う。ここで、負荷チェックとは、例えば
図9に示すように1個のゲートに何個のゲートが接続さ
れているかを調べることをいう。例えば、ゲートG1に
G20からG2nまでのn+1個のゲートが接続されて
いる場合、ゲートG1のファンアウト数がn+1個以上
あれば、問題はない。
【0005】しかしながら、ゲートG1のファンアウト
数がn+1未満である場合には、このままでは回路は動
作しないことになる。そこで、負荷調整を行うことにな
る。今、図10に示すように、ゲートG1の出力をバッ
ファG3に入れて、その出力で一部のゲートG20〜G
2iまでを駆動し、残りのゲートG2i+1〜G2nま
でをゲートG1で直接駆動する。このようにしてファン
アウトが定格を満足するように負荷調整を行う。
数がn+1未満である場合には、このままでは回路は動
作しないことになる。そこで、負荷調整を行うことにな
る。今、図10に示すように、ゲートG1の出力をバッ
ファG3に入れて、その出力で一部のゲートG20〜G
2iまでを駆動し、残りのゲートG2i+1〜G2nま
でをゲートG1で直接駆動する。このようにしてファン
アウトが定格を満足するように負荷調整を行う。
【0006】負荷チェック・調整が終了したら、次にタ
イミングチェックを行う(S4)。ここで、タイミング
チェックとは、信号線を含んでゲートの遅延時間が定格
を満足しているかどうかチェックすることをいう。ある
素子の入力iから出力xへの信号伝播遅延時間Tdの計
算式(近似式)は次式で表される。
イミングチェックを行う(S4)。ここで、タイミング
チェックとは、信号線を含んでゲートの遅延時間が定格
を満足しているかどうかチェックすることをいう。ある
素子の入力iから出力xへの信号伝播遅延時間Tdの計
算式(近似式)は次式で表される。
【0007】 Td=Tix+C×K (1) ここで、Tix;素子の入力端子iから出力xへの基本
遅延時間で、この情報はシステム内の素子ライブラリに
登録されている C;出力端子xの負荷容量 K;出力端子xの遅延時間負荷依存係数であり、システ
ム内の素子ライブラリに登録されている ここで、出力端子xの負荷容量Cは次式で表される。
遅延時間で、この情報はシステム内の素子ライブラリに
登録されている C;出力端子xの負荷容量 K;出力端子xの遅延時間負荷依存係数であり、システ
ム内の素子ライブラリに登録されている ここで、出力端子xの負荷容量Cは次式で表される。
【0008】 C=Cw+Ci (2) ここで、Cw;出力に接続されているネットの配線容量
で、この配線容量は線長に比例する Ci;出力に接続されている素子の端子の入力負荷容量
の総和 (1)式における負荷容量依存部C×Kは、素子の種類
によるが一般的にはその出力端子の駆動する他の素子の
入力端子の数が3〜5程度でTixと同等レベルになる
ため(CMOSの場合)、遅延時間Tixに対して出力
負荷の影響は非常に高いことが分かる。
で、この配線容量は線長に比例する Ci;出力に接続されている素子の端子の入力負荷容量
の総和 (1)式における負荷容量依存部C×Kは、素子の種類
によるが一般的にはその出力端子の駆動する他の素子の
入力端子の数が3〜5程度でTixと同等レベルになる
ため(CMOSの場合)、遅延時間Tixに対して出力
負荷の影響は非常に高いことが分かる。
【0009】タイミングチェックが終了したら、タイミ
ングエラーがあるかどうかチェックする(S5)。ここ
で、タイミングエラーとは、(1)式で求めた遅延時間
Tdが定格を満足していないことをいう。エラーがない
時にはそのまま終了するが、エラーがある場合には、論
理段数削減等の変更処理を行う(S6)。その結果、調
整箇所があるかどうかチェックし(S7)、ある場合に
はステップS2に戻ってセルの割付けからやり直す。調
整箇所がない場合には、処理は終了する。
ングエラーがあるかどうかチェックする(S5)。ここ
で、タイミングエラーとは、(1)式で求めた遅延時間
Tdが定格を満足していないことをいう。エラーがない
時にはそのまま終了するが、エラーがある場合には、論
理段数削減等の変更処理を行う(S6)。その結果、調
整箇所があるかどうかチェックし(S7)、ある場合に
はステップS2に戻ってセルの割付けからやり直す。調
整箇所がない場合には、処理は終了する。
【0010】
【発明が解決しようとする課題】前述したタイミングチ
ェック時において、負荷調整前までは回路規模を最小化
するように回路合成を行う。この段階では、最も規模が
小さい状態になっている。過負荷の出力端子に対する負
荷調整は必須なので、これによる規模の増大は必要最小
限であると考えられる。
ェック時において、負荷調整前までは回路規模を最小化
するように回路合成を行う。この段階では、最も規模が
小さい状態になっている。過負荷の出力端子に対する負
荷調整は必須なので、これによる規模の増大は必要最小
限であると考えられる。
【0011】一般に、論理段数の削減等の論理構造の変
更はゲート数の増加を伴うので、負荷調整時にタイミン
グ条件を考慮して同時にその特性も改善することかでき
れば、ゲート数の増加を最小限にするために非常に有効
である。しかしながら、従来は負荷調整を行った後に、
タイミングチェックを行うので、負荷調整時にタイミン
グ条件を考慮できないという問題があった。
更はゲート数の増加を伴うので、負荷調整時にタイミン
グ条件を考慮して同時にその特性も改善することかでき
れば、ゲート数の増加を最小限にするために非常に有効
である。しかしながら、従来は負荷調整を行った後に、
タイミングチェックを行うので、負荷調整時にタイミン
グ条件を考慮できないという問題があった。
【0012】本発明はこのような課題に鑑みてなされた
ものであって、負荷調整とタイミング調整を効率よく行
うことができる回路合成システムを提供することを目的
としている。
ものであって、負荷調整とタイミング調整を効率よく行
うことができる回路合成システムを提供することを目的
としている。
【0013】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。図において、1は論理式や真理値表等の
機能仕様を入力して論理の最小化を行う論理最小化部、
2は該論理最小化部1の出力を受けて最小化した論理毎
にセルを割り付けるセル割付部、3は該セル割付部2の
出力を受けて、負荷チェックとタイミングチェックを同
時に行う負荷/タイミングチェック部、4は該負荷/タ
イミングチェック部3の出力を受けて負荷調整を行う負
荷調整部、5は該負荷/タイミングチェック部3の出力
を受けてタイミング調整を行うタイミング調整部であ
る。
ック図である。図において、1は論理式や真理値表等の
機能仕様を入力して論理の最小化を行う論理最小化部、
2は該論理最小化部1の出力を受けて最小化した論理毎
にセルを割り付けるセル割付部、3は該セル割付部2の
出力を受けて、負荷チェックとタイミングチェックを同
時に行う負荷/タイミングチェック部、4は該負荷/タ
イミングチェック部3の出力を受けて負荷調整を行う負
荷調整部、5は該負荷/タイミングチェック部3の出力
を受けてタイミング調整を行うタイミング調整部であ
る。
【0014】
【作用】負荷/タイミングチェック部3でセルが割り付
けられた回路の負荷チェックとタイミングチェックとを
同時に行うようにする。これにより、負荷チェック時に
タイミングを考慮することができるので、負荷調整と同
時にタイミング特性の改善を行うことができ、負荷調整
とタイミング調整を効率よく行うことができる。
けられた回路の負荷チェックとタイミングチェックとを
同時に行うようにする。これにより、負荷チェック時に
タイミングを考慮することができるので、負荷調整と同
時にタイミング特性の改善を行うことができ、負荷調整
とタイミング調整を効率よく行うことができる。
【0015】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図2は本発明の動作を示すフローチャート
である。システムとしては図1を用いる。先ず、論理式
や真理値表等の機能仕様が論理最小化部1に入力される
と、該論理最小化部1は論理の最小化処理を行なう(S
1)。次に、セル割付部2は、最小化された論理のそれ
ぞれに対してセル(回路素子)の割付けを行う(S
2)。この状態で回路が自動生成されていることにな
る。
に説明する。図2は本発明の動作を示すフローチャート
である。システムとしては図1を用いる。先ず、論理式
や真理値表等の機能仕様が論理最小化部1に入力される
と、該論理最小化部1は論理の最小化処理を行なう(S
1)。次に、セル割付部2は、最小化された論理のそれ
ぞれに対してセル(回路素子)の割付けを行う(S
2)。この状態で回路が自動生成されていることにな
る。
【0016】次に、負荷/タイミングチェック部3は、
生成された回路に対して負荷チェックとタイミングチェ
ックを同時に行う(S3)。これにより、負荷チェック
時にタイミングを考慮することができるので、負荷調整
と同時にタイミング特性の改善を行うことができる。
生成された回路に対して負荷チェックとタイミングチェ
ックを同時に行う(S3)。これにより、負荷チェック
時にタイミングを考慮することができるので、負荷調整
と同時にタイミング特性の改善を行うことができる。
【0017】このようにして負荷チェックとタイミング
チェックが終了すると、負荷調整部4がチェック結果に
基づく負荷調整を行う(S4)。負荷調整の内容につい
ては図10に示したとおりである。負荷調整が終了した
ら、今度は負荷/タイミングチェック部3が(1)式に
基づいてタイミングの再チェックを行う(S5)。
チェックが終了すると、負荷調整部4がチェック結果に
基づく負荷調整を行う(S4)。負荷調整の内容につい
ては図10に示したとおりである。負荷調整が終了した
ら、今度は負荷/タイミングチェック部3が(1)式に
基づいてタイミングの再チェックを行う(S5)。
【0018】このタイミングの再チェックの結果、負荷
/タイミングチェック部3はタイミングエラーが発生し
たかどうかチェックする(S6)。タイミングエラーが
発生しない場合には回路合成がうまくいったことになる
ので、処理は終了する。
/タイミングチェック部3はタイミングエラーが発生し
たかどうかチェックする(S6)。タイミングエラーが
発生しない場合には回路合成がうまくいったことになる
ので、処理は終了する。
【0019】若し、タイミングエラーが発生した場合に
は回路合成がうまくいかなかったことになる。この場合
には、負荷/タイミングチェック部3は論理段数の削減
等の変更処理を行なう(S6)。その結果、調整箇所が
あるかどうかチェックし(S7)、ない場合には処理は
終了し、調整箇所がある場合には、セル割付部2に司令
を送り、セル割付けからやり直す。
は回路合成がうまくいかなかったことになる。この場合
には、負荷/タイミングチェック部3は論理段数の削減
等の変更処理を行なう(S6)。その結果、調整箇所が
あるかどうかチェックし(S7)、ない場合には処理は
終了し、調整箇所がある場合には、セル割付部2に司令
を送り、セル割付けからやり直す。
【0020】ここで、ステップS3でタイミングチェッ
クのために遅延時間計算を行うのに解決すべき問題があ
る。それは、過負荷の素子について遅延時間計算を行う
場合である。この場合、負荷要領が許容値よりも大きい
ので、(1)式のCの値が大きくなり、従って調整済み
の場合に比べて遅延計算値が非常に大きくなってしま
う。
クのために遅延時間計算を行うのに解決すべき問題があ
る。それは、過負荷の素子について遅延時間計算を行う
場合である。この場合、負荷要領が許容値よりも大きい
ので、(1)式のCの値が大きくなり、従って調整済み
の場合に比べて遅延計算値が非常に大きくなってしま
う。
【0021】この問題を解決するために、ある素子の入
力から出力の遅延時間計算を図3のフローに従って行
う。このシーケンスは、負荷/タイミングチェック部3
が行うものである。先ず、出力負荷が過負荷であるかど
うかチェックする(S1)。そうでない場合には、
(1)式の負荷Cに出力端子の負荷を設定し(S2)、
(1)式に従って遅延時間の計算を行う(S3)。
力から出力の遅延時間計算を図3のフローに従って行
う。このシーケンスは、負荷/タイミングチェック部3
が行うものである。先ず、出力負荷が過負荷であるかど
うかチェックする(S1)。そうでない場合には、
(1)式の負荷Cに出力端子の負荷を設定し(S2)、
(1)式に従って遅延時間の計算を行う(S3)。
【0022】ここで、若し出力負荷が過負荷である場合
には、負荷Cの設定値として、定格で定められている出
力端子の駆動能力(最大値)を設定し(S4)、遅延時
間の計算を行うようにする。このようなシーケンスをと
ることにより、調整済みの場合に比較して、負荷容量が
過大に大きくなることがなくなる。
には、負荷Cの設定値として、定格で定められている出
力端子の駆動能力(最大値)を設定し(S4)、遅延時
間の計算を行うようにする。このようなシーケンスをと
ることにより、調整済みの場合に比較して、負荷容量が
過大に大きくなることがなくなる。
【0023】次に、タイミング調整部5の動作について
説明する。一般に、タイミング調整は組み合わせ回路
(記憶素子を含まない論理回路)の場合には入力外部端
子から出力外部端子の間の径路(パス)全てにおいて、
遅延時間を計算し、それが予め条件として設計者から与
えられた遅延時間以内に収まっているかをチェックし、
エラーの場合、その間の遅延時間を削減するように論理
の変更等を施す処理である。
説明する。一般に、タイミング調整は組み合わせ回路
(記憶素子を含まない論理回路)の場合には入力外部端
子から出力外部端子の間の径路(パス)全てにおいて、
遅延時間を計算し、それが予め条件として設計者から与
えられた遅延時間以内に収まっているかをチェックし、
エラーの場合、その間の遅延時間を削減するように論理
の変更等を施す処理である。
【0024】ある入力端子aから出力端子bへの径路が
存在する場合、その径路は1通りとは限らない。若し、
この径路がタイミングエラーの時、遅延時間条件以上の
遅延時間を持つ1個以上の径路をクリティカルパスとい
う。
存在する場合、その径路は1通りとは限らない。若し、
この径路がタイミングエラーの時、遅延時間条件以上の
遅延時間を持つ1個以上の径路をクリティカルパスとい
う。
【0025】ここで、組み合わせ回路の場合についての
考え方を説明したが、順序回路(記憶素子を含む論理回
路)の場合も同様で、異なるのは入力端子が外部端子だ
けでなく、フリップフロップの出力が含まれ、出力端子
が外部端子だけでなく、フリップフロップの入力端子が
含まれることである。後は組み合わせ回路と考え方は同
じである。
考え方を説明したが、順序回路(記憶素子を含む論理回
路)の場合も同様で、異なるのは入力端子が外部端子だ
けでなく、フリップフロップの出力が含まれ、出力端子
が外部端子だけでなく、フリップフロップの入力端子が
含まれることである。後は組み合わせ回路と考え方は同
じである。
【0026】次に、負荷調整部4の動作について説明す
る。負荷調整は、チェックの結果得られた過負荷エラー
情報とクリティカルパスの情報とを基に負荷調整を行う
ものである。
る。負荷調整は、チェックの結果得られた過負荷エラー
情報とクリティカルパスの情報とを基に負荷調整を行う
ものである。
【0027】図4は負荷調整の第1の例を示す図であ
る。この場合は、過負荷の素子と同一機能で、負荷を満
足できるより出力駆動能力の高い素子が存在する時に、
素子の交換を行うようにしたものである。
る。この場合は、過負荷の素子と同一機能で、負荷を満
足できるより出力駆動能力の高い素子が存在する時に、
素子の交換を行うようにしたものである。
【0028】(a)はセル名VIN(このセルVINは
インバータである)が出力駆動能力(ファンアウト数)
が18しかないのに、30個の負荷を接続している場合
を示している。基本遅延時間Tixが0.137ns、
負荷依存係数Kが0.060の場合、遅延時間は(1)
式から、0.137+18×0.060=0.385n
sとなる。ここで、負荷として出力駆動能力をそのまま
用いている。
インバータである)が出力駆動能力(ファンアウト数)
が18しかないのに、30個の負荷を接続している場合
を示している。基本遅延時間Tixが0.137ns、
負荷依存係数Kが0.060の場合、遅延時間は(1)
式から、0.137+18×0.060=0.385n
sとなる。ここで、負荷として出力駆動能力をそのまま
用いている。
【0029】(a)に示す状態を改善するために、セル
をファンアウト数36のV2Bに置換したものとする。
このセルの基本遅延時間は0.119となり、負荷依存
係数を0.032とすると、遅延時間は0.215ns
となり、遅延時間が改善されている。
をファンアウト数36のV2Bに置換したものとする。
このセルの基本遅延時間は0.119となり、負荷依存
係数を0.032とすると、遅延時間は0.215ns
となり、遅延時間が改善されている。
【0030】図5は負荷調整の第2の例を示す図であ
る。この例は、過負荷の素子の出力端子に必要数のバッ
ファを挿入して、駆動能力をアップさせた例を示してい
る。(a)はセル名R2P(オアゲート)が出力駆動能
力36にもかかわらず、60個の負荷が接続されている
例を示している。この回路の遅延時間は、基本遅延時間
Tix=0.416ns、負荷依存係数K=0.032
として(1)式に代入し、0.568nsとなる。
る。この例は、過負荷の素子の出力端子に必要数のバッ
ファを挿入して、駆動能力をアップさせた例を示してい
る。(a)はセル名R2P(オアゲート)が出力駆動能
力36にもかかわらず、60個の負荷が接続されている
例を示している。この回路の遅延時間は、基本遅延時間
Tix=0.416ns、負荷依存係数K=0.032
として(1)式に代入し、0.568nsとなる。
【0031】これに対して(b)の回路は、R2Pの出
力を2個のバッフア(セル名KIB)で受けて、それぞ
れ30個の負荷を接続するようにしたものである。セル
KIBは出力駆動能力が36であるので、30個の負荷
を駆動することができる。この場合の遅延時間は、基本
遅延時間Tix=0.382ns、負荷依存係数K=
0.032として(1)式より1.887nsとなる。
遅延時間は改善されていない。
力を2個のバッフア(セル名KIB)で受けて、それぞ
れ30個の負荷を接続するようにしたものである。セル
KIBは出力駆動能力が36であるので、30個の負荷
を駆動することができる。この場合の遅延時間は、基本
遅延時間Tix=0.382ns、負荷依存係数K=
0.032として(1)式より1.887nsとなる。
遅延時間は改善されていない。
【0032】図4に示す回路方式の場合には、遅延時間
が一様に改善される。その理由は、電気的特性から、出
力駆動能力の高い素子は、負荷依存係数の値が小さくな
るためである。これに対し、図5に示す方式の場合に
は、遅延時間は挿入された素子の分だけ増えてしまう。
が一様に改善される。その理由は、電気的特性から、出
力駆動能力の高い素子は、負荷依存係数の値が小さくな
るためである。これに対し、図5に示す方式の場合に
は、遅延時間は挿入された素子の分だけ増えてしまう。
【0033】本発明では、このような場合に、クリティ
カルパスが存在した場合、そのクリティカルパスの遅延
時間を削減させながら、負荷の調整を可能にする。図5
の例においてクリティカルパスが1個存在した場合の、
本発明による負荷調整の例を図6に示す。
カルパスが存在した場合、そのクリティカルパスの遅延
時間を削減させながら、負荷の調整を可能にする。図5
の例においてクリティカルパスが1個存在した場合の、
本発明による負荷調整の例を図6に示す。
【0034】(a)は素子a(セル名R2P)が60個
の負荷を駆動している場合を示している。素子aの駆動
能力は36なので、明らかに過負荷である。この時の遅
延時間は、基本遅延時間Tix=0.416ns、負荷
依存係数K=0.032として(1)式より、1.56
8nsとなる、これに対し、(b)に示す回路は、素子
aの出力で2個のバッファとクリティカルパスを駆動す
るようにしたものである。バッファKIBの駆動能力は
36であるので、28個の負荷を駆動するのは容易であ
る。この場合の遅延時間は、aからbまでの遅延時間
と、bからcまでの遅延時間の和となる。aからbまで
の遅延時間が0.672ns、bからcまでの遅延時間
が1.279nsとなるので、トータルの遅延時間は
1.951nsとなる。(a)の場合と比較して遅延時
間は延びているが、クリティカルパスに対してはaから
bまでの遅延時間と同一なので、0.672nsとな
り、大幅に減少させることができる。
の負荷を駆動している場合を示している。素子aの駆動
能力は36なので、明らかに過負荷である。この時の遅
延時間は、基本遅延時間Tix=0.416ns、負荷
依存係数K=0.032として(1)式より、1.56
8nsとなる、これに対し、(b)に示す回路は、素子
aの出力で2個のバッファとクリティカルパスを駆動す
るようにしたものである。バッファKIBの駆動能力は
36であるので、28個の負荷を駆動するのは容易であ
る。この場合の遅延時間は、aからbまでの遅延時間
と、bからcまでの遅延時間の和となる。aからbまで
の遅延時間が0.672ns、bからcまでの遅延時間
が1.279nsとなるので、トータルの遅延時間は
1.951nsとなる。(a)の場合と比較して遅延時
間は延びているが、クリティカルパスに対してはaから
bまでの遅延時間と同一なので、0.672nsとな
り、大幅に減少させることができる。
【0035】図7は本発明による負荷調整処理動作を示
すフローチャートである。先ず、クリティカルパスを除
いた負荷を計算し、Ciに格納する(S1)。ここで、
Ciは(2)式で説明したように、出力に接続される素
子の端子の入力負荷容量の総和である。
すフローチャートである。先ず、クリティカルパスを除
いた負荷を計算し、Ciに格納する(S1)。ここで、
Ciは(2)式で説明したように、出力に接続される素
子の端子の入力負荷容量の総和である。
【0036】次に、Ciを駆動するのに必要なバッファ
セルの個数を求めて、それとクリティカルパスを加えた
場合の負荷を計算し、変数Ccに代入する(S2)。負
荷容量Ccが求まったら、過負荷の素子の出力端子の駆
動能力がCc以上あるかどうかチェックする(S3)。
セルの個数を求めて、それとクリティカルパスを加えた
場合の負荷を計算し、変数Ccに代入する(S2)。負
荷容量Ccが求まったら、過負荷の素子の出力端子の駆
動能力がCc以上あるかどうかチェックする(S3)。
【0037】若し、過負荷の素子の出力端子の駆動能力
がCc以上ある場合には、クリティカルパス以外のパス
にバッファを挿入してシーケンスは終了する(S6)。
ここで、若し、過負荷の素子の出力端子の駆動能力がC
c以上ない場合には、最も遅延時間の小さいクリティカ
ルパスをクリティカルパスから除いてステップS1から
動作を再開する(S1)。このようにして、最終的に最
適な負荷調整を行うことができる。
がCc以上ある場合には、クリティカルパス以外のパス
にバッファを挿入してシーケンスは終了する(S6)。
ここで、若し、過負荷の素子の出力端子の駆動能力がC
c以上ない場合には、最も遅延時間の小さいクリティカ
ルパスをクリティカルパスから除いてステップS1から
動作を再開する(S1)。このようにして、最終的に最
適な負荷調整を行うことができる。
【0038】
【発明の効果】以上、詳細に説明したように、本発明に
よれば互いに関係の深い回路の負荷チェックとタイミン
グチェックを同時に行うようにすることにより、負荷調
整とタイミング調整を効率よく行うことができる回路合
成システムを提供することができる。この結果、遅延時
間削減のためのゲート数増大を最小化した回路を生成す
ることができる。
よれば互いに関係の深い回路の負荷チェックとタイミン
グチェックを同時に行うようにすることにより、負荷調
整とタイミング調整を効率よく行うことができる回路合
成システムを提供することができる。この結果、遅延時
間削減のためのゲート数増大を最小化した回路を生成す
ることができる。
【図1】本発明の原理ブロック図である。
【図2】本発明の動作を示すフローチャートである。
【図3】素子の遅延時間算出動作を示すフローチャート
である。
である。
【図4】負荷調整の第1の例を示す図である。
【図5】負荷調整の第2の例を示す図である。
【図6】本発明による負荷調整の例を示す図である。
【図7】本発明による負荷調整処理動作を示すフローチ
ャートである。
ャートである。
【図8】従来方式の動作を示すフローチャートである。
【図9】負荷チェックの説明図である。
【図10】負荷調整の説明図である。
1 論理最小化部 2 セル割付部 3 負荷/タイミングチェック部 4 負荷調整部 5 タイミング調整部
Claims (4)
- 【請求項1】 論理式や真理値表等の機能仕様を入力し
て論理の最小化を行う論理最小化部(1)と、 該論理最小化部(1)の出力を受けて最小化した論理毎
にセルを割り付けるセル割付部(2)と、 該セル割付部(2)の出力を受けて、負荷チェックとタ
イミングチェックを同時に行う負荷/タイミングチェッ
ク部(3)と、 該負荷/タイミングチェック部(3)の出力を受けて負
荷調整を行う負荷調整部(4)と、 該負荷/タイミングチェック部(3)の出力を受けてタ
イミング調整を行うタイミング調整部(5)とにより構
成される回路合成システム。 - 【請求項2】 前記負荷/タイミングチェック部(3)
は、過負荷の出力端子についての遅延時間計算を、その
出力端子が駆動できる負荷に補正してから行い、負荷エ
ラー情報と負荷エラーが存在しない場合のタイミングエ
ラー区間情報を同時に得るようにしたことを特徴とする
請求項1記載の回路合成システム。 - 【請求項3】 前記負荷調整部(4)は、前記タイミン
グエラー区間情報を利用することにより、タイミングエ
ラー区間上の負荷エラー箇所の調整において、エラー区
間以外の部分のみにバッファを挿入する等の負荷の調整
を行うようにしたことを特徴とする請求項2記載の回路
合成システム。 - 【請求項4】 前記負荷/タイミングチェック部(3)
は、負荷調整が終了したら、再度タイミングチェックを
行い、タイミングエラーが検出されたら、セル割付部
(2)に指令を送り、段数削減等の論理変更を行い、再
回路合成を行い負荷チェックとタイミングチェックを行
うようにしたことを特徴とする請求項1記載の回路合成
システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22601291A JP3172211B2 (ja) | 1991-09-05 | 1991-09-05 | 回路合成システム |
US07/940,278 US5416718A (en) | 1991-09-05 | 1992-09-03 | Circuit design support system and circuit producing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22601291A JP3172211B2 (ja) | 1991-09-05 | 1991-09-05 | 回路合成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0567169A true JPH0567169A (ja) | 1993-03-19 |
JP3172211B2 JP3172211B2 (ja) | 2001-06-04 |
Family
ID=16838409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22601291A Expired - Fee Related JP3172211B2 (ja) | 1991-09-05 | 1991-09-05 | 回路合成システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5416718A (ja) |
JP (1) | JP3172211B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100395160B1 (ko) * | 2001-11-20 | 2003-08-19 | 한국전자통신연구원 | 2단계 논리 합성 방법 |
US11550978B2 (en) | 2018-12-17 | 2023-01-10 | Mitsubishi Electric Corporation | Circuit design assistance system and computer readable medium |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5544071A (en) * | 1993-12-29 | 1996-08-06 | Intel Corporation | Critical path prediction for design of circuits |
CN1099704C (zh) | 1994-01-19 | 2003-01-22 | 松下电器产业株式会社 | 半导体集成电路及其设计方法 |
JP3190514B2 (ja) * | 1994-03-17 | 2001-07-23 | 富士通株式会社 | レイアウトデータ生成装置及び生成方法 |
US5633805A (en) * | 1994-09-30 | 1997-05-27 | Intel Corporation | Logic synthesis having two-dimensional sizing progression for selecting gates from cell libraries |
US5638291A (en) * | 1994-10-14 | 1997-06-10 | Vlsi Technology, Inc. | Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew |
JP2677256B2 (ja) * | 1995-06-26 | 1997-11-17 | 日本電気株式会社 | 遅延最適化方法 |
JPH0962716A (ja) * | 1995-08-18 | 1997-03-07 | Sony Corp | 回路設計方法及び回路設計装置 |
JP3001403B2 (ja) * | 1995-09-29 | 2000-01-24 | 日本電気株式会社 | 論理回路のレイアウト方法 |
US5740067A (en) * | 1995-10-19 | 1998-04-14 | International Business Machines Corporation | Method for clock skew cost calculation |
US5745735A (en) * | 1995-10-26 | 1998-04-28 | International Business Machines Corporation | Localized simulated annealing |
US6009253A (en) * | 1996-06-20 | 1999-12-28 | Sun Microsystems, Inc. | Spare repeater amplifiers for long lines on complex integrated circuits |
US5838580A (en) * | 1996-06-20 | 1998-11-17 | Sun Microsystems, Inc. | Method of optimizing repeater placement in long lines of a complex integrated circuit |
US6044209A (en) * | 1997-09-15 | 2000-03-28 | International Business Machines Corporation | Method and system for segmenting wires prior to buffer insertion |
US6453446B1 (en) * | 1997-12-24 | 2002-09-17 | Magma Design Automation, Inc. | Timing closure methodology |
US6496965B1 (en) * | 1999-09-20 | 2002-12-17 | Magma Design Automation, Inc. | Automated design of parallel drive standard cells |
US7036104B1 (en) | 1999-12-06 | 2006-04-25 | International Business Machines Corporation | Method of and system for buffer insertion, layer assignment, and wire sizing using wire codes |
US6782514B2 (en) * | 2002-01-24 | 2004-08-24 | Zenasis Technologies, Inc. | Context-sensitive constraint driven uniquification and characterization of standard cells |
US7350171B2 (en) * | 2005-11-17 | 2008-03-25 | Lizheng Zhang | Efficient statistical timing analysis of circuits |
JP5772990B2 (ja) * | 2012-02-01 | 2015-09-02 | 富士通株式会社 | 設計支援装置,設計支援方法および設計支援プログラム |
JP6048119B2 (ja) * | 2012-12-19 | 2016-12-21 | 富士通株式会社 | 異常原因推定プログラム、異常原因推定装置及び異常原因推定方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4484292A (en) * | 1981-06-12 | 1984-11-20 | International Business Machines Corporation | High speed machine for the physical design of very large scale integrated circuits |
US4698760A (en) * | 1985-06-06 | 1987-10-06 | International Business Machines | Method of optimizing signal timing delays and power consumption in LSI circuits |
JPS62189739A (ja) * | 1986-02-17 | 1987-08-19 | Hitachi Ltd | 半導体集積回路装置 |
US5034899A (en) * | 1986-07-07 | 1991-07-23 | Bbc Brown Boveri Ag | Software tool for automatically generating a functional-diagram graphic |
JP2564344B2 (ja) * | 1987-12-23 | 1996-12-18 | 株式会社日立製作所 | 半導体集積回路の設計方式 |
US4922432A (en) * | 1988-01-13 | 1990-05-01 | International Chip Corporation | Knowledge based method and apparatus for designing integrated circuits using functional specifications |
US5173864A (en) * | 1988-08-20 | 1992-12-22 | Kabushiki Kaisha Toshiba | Standard cell and standard-cell-type integrated circuit |
US5208768A (en) * | 1988-11-14 | 1993-05-04 | Digital Equipment Corporation | Expert system including arrangement for acquiring redesign knowledge |
JP2522541B2 (ja) * | 1989-03-24 | 1996-08-07 | 三菱電機株式会社 | シミュレ―ション装置及びシミュレ―ション方法 |
US5282148A (en) * | 1989-05-23 | 1994-01-25 | Vlsi Technology, Inc. | Method and apparatus for the design and fabrication of integrated circuits employing logic decomposition algorithms for the timing optimization of multilevel logic |
US5251147A (en) * | 1989-06-20 | 1993-10-05 | Digital Equipment Corporation | Minimizing the interconnection cost of electronically linked objects |
JP2831703B2 (ja) * | 1989-06-23 | 1998-12-02 | 株式会社東芝 | 自動フロアプラン演算装置 |
US5210700A (en) * | 1990-02-20 | 1993-05-11 | International Business Machines Corporation | Automatic delay adjustment for static timing analysis |
US5218551A (en) * | 1990-04-30 | 1993-06-08 | International Business Machines Corporation | Timing driven placement |
US5208764A (en) * | 1990-10-29 | 1993-05-04 | Sun Microsystems, Inc. | Method for optimizing automatic place and route layout for full scan circuits |
US5168455A (en) * | 1991-03-28 | 1992-12-01 | Digital Equipment Corporation | Procedure for incorporating timing parameters in the synthesis of logic circuit designs |
-
1991
- 1991-09-05 JP JP22601291A patent/JP3172211B2/ja not_active Expired - Fee Related
-
1992
- 1992-09-03 US US07/940,278 patent/US5416718A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100395160B1 (ko) * | 2001-11-20 | 2003-08-19 | 한국전자통신연구원 | 2단계 논리 합성 방법 |
US11550978B2 (en) | 2018-12-17 | 2023-01-10 | Mitsubishi Electric Corporation | Circuit design assistance system and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP3172211B2 (ja) | 2001-06-04 |
US5416718A (en) | 1995-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3172211B2 (ja) | 回路合成システム | |
US5619420A (en) | Semiconductor cell having a variable transistor width | |
US6498515B2 (en) | Semiconductor integrated circuit and method for designing the same | |
US8115530B2 (en) | Robust time borrowing pulse latches | |
US8543955B1 (en) | Apparatus and methods for time-multiplex field-programmable gate arrays | |
JPH0766400B2 (ja) | クロック・スキュー低減方法 | |
US8086982B2 (en) | Methods and systems for reducing clock skew in a gated clock tree | |
US5663888A (en) | Redesign of sequential circuits to reduce clock period | |
US5648911A (en) | Method of minimizing area for fanout chains in high-speed networks | |
JP2611034B2 (ja) | 遅延回路 | |
US5917728A (en) | Method for designing path transistor logic circuit | |
JP2859234B2 (ja) | 半導体集積回路装置 | |
US11126217B1 (en) | Integrated circuit with mixed circuitry structure of static combinational circuit and dynamic combinational circuit and designing method thereof | |
JP2863453B2 (ja) | 半導体集積回路の設計方法及び論理合成方法 | |
JP2002158285A (ja) | 回路修正方法およびコンピュータプログラム | |
US20040237055A1 (en) | Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device | |
JP2877528B2 (ja) | 半導体集積回路のレイアウト方法 | |
Saurab et al. | Design and Optimization of Timing Errors on Swapping of Threshold Voltage | |
JP3017038B2 (ja) | 半導体集積回路の設計方式 | |
JP2993488B2 (ja) | 集積回路の設計方法、集積回路及び記憶媒体 | |
JP3004589B2 (ja) | パストランジスタ論理設計方法 | |
JPH03175720A (ja) | 半導体集積回路 | |
US8136061B2 (en) | Method of logic circuit synthesis and design using a dynamic circuit library | |
JP3511908B2 (ja) | Nmosネットワーク論理回路 | |
JP3084742B2 (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: 20010313 |
|
LAPS | Cancellation because of no payment of annual fees |