JPH0219976A - 論理回路合成方法 - Google Patents
論理回路合成方法Info
- Publication number
- JPH0219976A JPH0219976A JP1124572A JP12457289A JPH0219976A JP H0219976 A JPH0219976 A JP H0219976A JP 1124572 A JP1124572 A JP 1124572A JP 12457289 A JP12457289 A JP 12457289A JP H0219976 A JPH0219976 A JP H0219976A
- Authority
- JP
- Japan
- Prior art keywords
- block
- model
- critical
- technology
- blocks
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は論理設計に関し、さらに具体的には、特定の技
術のための規則が、技術から独立した論理モデルに割り
当てられたときに出会うタイミング上の問題を訂正する
ことに関するものである。
術のための規則が、技術から独立した論理モデルに割り
当てられたときに出会うタイミング上の問題を訂正する
ことに関するものである。
B、従来技術
特定の技術のための論理データ・アレイのマツピング及
び最適化を自動化すると、設計時間の節約と、製造され
た回路の性能の大幅な向上をもたらすことができる。機
能仕様のハードウェア・インプリメンテーションへの変
換を自動化できるかどうかは、長い間研究の課題であっ
た。この仕事の複雑性とその自動化の潜在的な価値は、
設計される装置の複雑さが増し、設計時間の短縮に対す
る圧力が高まるに従って、増大し続けてきた。
び最適化を自動化すると、設計時間の節約と、製造され
た回路の性能の大幅な向上をもたらすことができる。機
能仕様のハードウェア・インプリメンテーションへの変
換を自動化できるかどうかは、長い間研究の課題であっ
た。この仕事の複雑性とその自動化の潜在的な価値は、
設計される装置の複雑さが増し、設計時間の短縮に対す
る圧力が高まるに従って、増大し続けてきた。
自動化された論理合成における初期の試みは、機能仕様
におけるゲート数を減少させるため、最小のプール式を
得ることに集中していた。もっと最近の試みでは、技術
固をの設計をもたらし、技術がますます複雑になるにつ
れ、合成システムは、受は入れ可能なインプリメンテー
ションを実現スるため、増大する技術固有の基準を扱わ
ざるを得なくなっている。ゲート・カウントは引続き設
計が受入れ可能なものとなるための主な要素であるが、
タイミング上の制約及び、特定の技術で使用可能なブ’
J ミティブの効率的な使用がますます重要になってい
る。
におけるゲート数を減少させるため、最小のプール式を
得ることに集中していた。もっと最近の試みでは、技術
固をの設計をもたらし、技術がますます複雑になるにつ
れ、合成システムは、受は入れ可能なインプリメンテー
ションを実現スるため、増大する技術固有の基準を扱わ
ざるを得なくなっている。ゲート・カウントは引続き設
計が受入れ可能なものとなるための主な要素であるが、
タイミング上の制約及び、特定の技術で使用可能なブ’
J ミティブの効率的な使用がますます重要になってい
る。
あるモデルを特定の技術で実施するための論理合成手順
は一般に、前述のプール変換等、技術から独立したモデ
ルについて論理減少変換を実行することから始まる。次
に、タイミング基準、及びそのモデルについて必要とさ
れるその他の技術固有の特徴を実現するため、技術をモ
デルにマツプした後、その技術に適したモデルについて
後続の変換が実行される。
は一般に、前述のプール変換等、技術から独立したモデ
ルについて論理減少変換を実行することから始まる。次
に、タイミング基準、及びそのモデルについて必要とさ
れるその他の技術固有の特徴を実現するため、技術をモ
デルにマツプした後、その技術に適したモデルについて
後続の変換が実行される。
タイミングは、米国特許第4283651号に開示され
ているように、経路遅延の解析によって最適化すること
ができる。しかし、この解析ではモデル全体に対するタ
イミング・データを計算する。−旦タイミングの訂正が
加えられると、こうして計算されたタイミング・データ
は古くなってしまう。モデルに対するタイミング・デー
タを再計算しない限り、その後のタイミング訂正が誤っ
たものになる恐れがある。しかし、現在の技術状態で必
要とされる論理アレイのサイズは、この種の力ずくの再
計算が設計工程の効率に大きな損失をもたらす程度にま
で増大してきている。
ているように、経路遅延の解析によって最適化すること
ができる。しかし、この解析ではモデル全体に対するタ
イミング・データを計算する。−旦タイミングの訂正が
加えられると、こうして計算されたタイミング・データ
は古くなってしまう。モデルに対するタイミング・デー
タを再計算しない限り、その後のタイミング訂正が誤っ
たものになる恐れがある。しかし、現在の技術状態で必
要とされる論理アレイのサイズは、この種の力ずくの再
計算が設計工程の効率に大きな損失をもたらす程度にま
で増大してきている。
技術固有のプリミティブの使用を最大にしてゲート・カ
ウントを最小にする論理合成方法が、1987年10月
27日に発行され、本出願人に譲渡された米国特許第4
703435号に開示されている。この既知の方法は、
技術から独立したモデルの論理ブロックの数を減少させ
、ファンインを制限し、そのモデルでの否定論理HAN
Dゲート及びNORゲートの使用を最大にしてから、所
与の技術をモデルにマツプするものである。この予備的
モデルに技術をマツプする前に、サイズまたは速度が最
大になるようにモデルを修正することができるが、タイ
ミングの制約は、その技術に適した「ハードウェア」モ
デルが定義されるまで実現されない。
ウントを最小にする論理合成方法が、1987年10月
27日に発行され、本出願人に譲渡された米国特許第4
703435号に開示されている。この既知の方法は、
技術から独立したモデルの論理ブロックの数を減少させ
、ファンインを制限し、そのモデルでの否定論理HAN
Dゲート及びNORゲートの使用を最大にしてから、所
与の技術をモデルにマツプするものである。この予備的
モデルに技術をマツプする前に、サイズまたは速度が最
大になるようにモデルを修正することができるが、タイ
ミングの制約は、その技術に適した「ハードウェア」モ
デルが定義されるまで実現されない。
しかし、ある種の変換は、モデルのブロックに対する技
術の当初の割振りを訂正するために使用することができ
ない。これらの変換のために、その他の点では技術に適
したモデルで、後のこの段階で技術規則の違反が生じる
ことを許容すると、論理合成過程が壊れてしまう。した
がって、この方法で作成したハードウェア・モデルは、
必要とされるタイミングの制約を溝たすことができず、
技術から独立したモデルの必要とされるハードウェア・
インプリメンテ−シロンを実現する前に、論理合成過程
の繰返しが必要になる。さらに、この方法は、結果とし
て得られる技術レベルのモデルのサイズを余り制御でき
ず、本発明に従ってもたらされるものよりも約30%高
いセル・カウントをもたらす。
術の当初の割振りを訂正するために使用することができ
ない。これらの変換のために、その他の点では技術に適
したモデルで、後のこの段階で技術規則の違反が生じる
ことを許容すると、論理合成過程が壊れてしまう。した
がって、この方法で作成したハードウェア・モデルは、
必要とされるタイミングの制約を溝たすことができず、
技術から独立したモデルの必要とされるハードウェア・
インプリメンテ−シロンを実現する前に、論理合成過程
の繰返しが必要になる。さらに、この方法は、結果とし
て得られる技術レベルのモデルのサイズを余り制御でき
ず、本発明に従ってもたらされるものよりも約30%高
いセル・カウントをもたらす。
所与の装置割振り内で選択可能な電力レベルを割り振る
ことによってタイミングを最適化する方2去が、198
7年10月6日にレンバッハ(Lembach)等に対
して発行され、本出願人に譲渡された米国特許第489
8780号に開示されている。しかし、この方法は、最
初の装置割振りによって割り当てられた装置をもっと高
い電力を供給される装置で置き換えた場合に得られる利
点を活用することができない。その代りに、この方法は
、それらの装置自体の電力/性能特性の変動性に依存し
ている。
ことによってタイミングを最適化する方2去が、198
7年10月6日にレンバッハ(Lembach)等に対
して発行され、本出願人に譲渡された米国特許第489
8780号に開示されている。しかし、この方法は、最
初の装置割振りによって割り当てられた装置をもっと高
い電力を供給される装置で置き換えた場合に得られる利
点を活用することができない。その代りに、この方法は
、それらの装置自体の電力/性能特性の変動性に依存し
ている。
C9発明が解決しようとする問題点
本発明の目的は、特定の技術を技術から独立したモデル
にマツプすることによって作成されたその技術に適した
モデルが、タイミング訂正変換によってその技術に適し
たモデルを所定のタイミング制約に合致させることがで
きる限界を越えないようにすることである。
にマツプすることによって作成されたその技術に適した
モデルが、タイミング訂正変換によってその技術に適し
たモデルを所定のタイミング制約に合致させることがで
きる限界を越えないようにすることである。
本発明の他の目的は、タイミング訂正アルゴリズムの複
雑さ、したがって、その実行時間を減少させると同時に
、有用な技術に適したモデルを作成するためのアルゴリ
ズムの宵効性を高めることである。
雑さ、したがって、その実行時間を減少させると同時に
、有用な技術に適したモデルを作成するためのアルゴリ
ズムの宵効性を高めることである。
本発明の他の目的は、所定のタイミング要件に合致する
方式で、技術から独立したモデルの技術に適したモデル
への系統的な予備的拡張を提供することである。この拡
張は、ゲート・ローディングの名目値に基づいて計算し
たゲート・アレイを通るデータ経路の相対的タイミング
を使って、予備的解析を簡単にする。このことは、負荷
容量に対して極めて敏感な0MO8等の技術にとって特
に重要である。この技術にとって非定型的である、技術
から独立したモデルにおけるファンアウト負荷は、異常
なりリティカル・バス解析をもたらす。
方式で、技術から独立したモデルの技術に適したモデル
への系統的な予備的拡張を提供することである。この拡
張は、ゲート・ローディングの名目値に基づいて計算し
たゲート・アレイを通るデータ経路の相対的タイミング
を使って、予備的解析を簡単にする。このことは、負荷
容量に対して極めて敏感な0MO8等の技術にとって特
に重要である。この技術にとって非定型的である、技術
から独立したモデルにおけるファンアウト負荷は、異常
なりリティカル・バス解析をもたらす。
本発明の他の目的は、特定の技術でうまく働かないブロ
ックの代りとして、その特定技術によってサポートされ
る最も適合する装置を選択することにより、予備的クリ
ティカル・パス解析を簡単にすることである。
ックの代りとして、その特定技術によってサポートされ
る最も適合する装置を選択することにより、予備的クリ
ティカル・パス解析を簡単にすることである。
D0問題点を解決するための手段
本発明によれば、技術から独立したモデル内にある、特
定の技術でうまく働かない論理ブロックを識別し、うま
く働かない論理ブロックの代りに、その特定技術によっ
てサポートされる最も適合する装置を使用する方法及び
装置が提供される。またモデルを通るクリティカル・パ
スのタイミング値が、その特定技術における最適な装置
割振りと整合する遅延時間に制限された、装置遅延時間
を使用して推定される。このモデルについて、特定技術
の規則が完全にモデルに割り当てられる前にモデルに課
されるタイミング制約に合致するように、タイミング訂
正変換が実行される。
定の技術でうまく働かない論理ブロックを識別し、うま
く働かない論理ブロックの代りに、その特定技術によっ
てサポートされる最も適合する装置を使用する方法及び
装置が提供される。またモデルを通るクリティカル・パ
スのタイミング値が、その特定技術における最適な装置
割振りと整合する遅延時間に制限された、装置遅延時間
を使用して推定される。このモデルについて、特定技術
の規則が完全にモデルに割り当てられる前にモデルに課
されるタイミング制約に合致するように、タイミング訂
正変換が実行される。
したがって、本発明は、特定技術を技術から独立したモ
デルにマツプする過程で訂正不能なタイミングの問題を
生じることのない、技術に適したモデルを提供する。
デルにマツプする過程で訂正不能なタイミングの問題を
生じることのない、技術に適したモデルを提供する。
E、実施例
本発明の好ましい実施例による論理合成方法を第1図な
いし第3図に概略的に示す一本発明によるシステムのい
くつかの態様を記載した従来の刊行物には以下のものが
ある。それらの記載を、すべて引用により本明細書に組
み込む。J、A、ダリンジャ(Darringer)
N fニエル・ブランド(Daniel Brand)
、J 、 V、ガービ(Gerb i )、W、H,
ジロイナ(Joiner)2世及びルイス・トレビリャ
ン(Louise Trevillyan)のrLSS
:推論論理合成のためのシステム(LSS:ASyst
em for Production Logic 5
ynthesis) J 11BM Journal
of Re5earch and Developme
ntzVol、28、N005、(1984年9月)、
pp、437−445、W、H,ジ日イナ2世、L、H
,トレビリャン、ダニエル・ブランド、T、A、エック
ス(Hix)及び S、C,ガンダーセン(Gunde
rsen )の「論理合成における技術適合(Tech
nology Adaptation in Logi
cSynthesis) J Proceedings
of the IEEE 23rdDesign
Δutomation Conference (
1986)s 1) p 。
いし第3図に概略的に示す一本発明によるシステムのい
くつかの態様を記載した従来の刊行物には以下のものが
ある。それらの記載を、すべて引用により本明細書に組
み込む。J、A、ダリンジャ(Darringer)
N fニエル・ブランド(Daniel Brand)
、J 、 V、ガービ(Gerb i )、W、H,
ジロイナ(Joiner)2世及びルイス・トレビリャ
ン(Louise Trevillyan)のrLSS
:推論論理合成のためのシステム(LSS:ASyst
em for Production Logic 5
ynthesis) J 11BM Journal
of Re5earch and Developme
ntzVol、28、N005、(1984年9月)、
pp、437−445、W、H,ジ日イナ2世、L、H
,トレビリャン、ダニエル・ブランド、T、A、エック
ス(Hix)及び S、C,ガンダーセン(Gunde
rsen )の「論理合成における技術適合(Tech
nology Adaptation in Logi
cSynthesis) J Proceedings
of the IEEE 23rdDesign
Δutomation Conference (
1986)s 1) p 。
94−10011987年10月6日にレンバツハ等に
対して発行された米国特許第46i98760号、及び
1987年10月27日にダリンジャ等に対して発行さ
れた米国特許第4703435号。
対して発行された米国特許第46i98760号、及び
1987年10月27日にダリンジャ等に対して発行さ
れた米国特許第4703435号。
本発明による方法は、技術から独立したモデルの表示及
びデータ管理システムでうまく働くコンピュータ・プロ
グラムを含む。本発明の好ましい実施例によれば、その
データ管理システムは、F。
びデータ管理システムでうまく働くコンピュータ・プロ
グラムを含む。本発明の好ましい実施例によれば、その
データ管理システムは、F。
E、 アレン(Alien)等の論文「実験的コンパイ
ル・システム(The Experimental C
ompilingSystem) J % IB
M Journal of Re5earch
andDevelopmentlVo 1.24 (
1980年)、pp、695−713に記載されたシス
テムにほぼ類似している。ただし、木切ii5書て開示
する好ましい実施例では、基本構成単位は、「ブロック
」と呼ばれシステムによって呼び出されるルーチンのパ
ラメータを括弧に入れて示す。
ル・システム(The Experimental C
ompilingSystem) J % IB
M Journal of Re5earch
andDevelopmentlVo 1.24 (
1980年)、pp、695−713に記載されたシス
テムにほぼ類似している。ただし、木切ii5書て開示
する好ましい実施例では、基本構成単位は、「ブロック
」と呼ばれシステムによって呼び出されるルーチンのパ
ラメータを括弧に入れて示す。
本発明の好ましい実施例に従って相補型金属酸化物半導
体(0MO8)技術を技術から独立したモデルにマツプ
するための自動化論理合成コンピュータ・プログラム・
リストを下記の表1に示す。この好ましい実施例で使用
する個々の変換ルーチンは当接術では周知であり、本発
明の好ましい実施例に従ってこれらのルーチンに使用さ
れるコードのリストを、本明細書の末尾の表2に示す。
体(0MO8)技術を技術から独立したモデルにマツプ
するための自動化論理合成コンピュータ・プログラム・
リストを下記の表1に示す。この好ましい実施例で使用
する個々の変換ルーチンは当接術では周知であり、本発
明の好ましい実施例に従ってこれらのルーチンに使用さ
れるコードのリストを、本明細書の末尾の表2に示す。
これらの周知のルーチンについてはとくに本発明に従っ
て提供される論理合成過程の有利な順序付は及び制御に
関して、以下で考察する。
て提供される論理合成過程の有利な順序付は及び制御に
関して、以下で考察する。
プログラムのフェーズIは2つの部分を含む。
フェーズIの最初の部分では、技術から独立したモデル
をプログラムによる解析のため準備する。
をプログラムによる解析のため準備する。
モデル中の特定技術の規則に違反するブロックの代りと
して、特定技術と整合する特性ををする最も適合するブ
ロックが使用され、こうして「予備的」モデルが得られ
る。
して、特定技術と整合する特性ををする最も適合するブ
ロックが使用され、こうして「予備的」モデルが得られ
る。
フェーズエの第2の部分では、この予備的モデルにおけ
る推定クリティカル・パスが速度の点で最適化される。
る推定クリティカル・パスが速度の点で最適化される。
第1図はフェーズIの概略的流れ図である。
好ましい実施例のフェーズエで経路遅延時間及びクリテ
ィカル・パスの局部的変化を推定するために使用される
遅延値は、その特定技術に対する最適の装置割振りと整
合する値に制限される。モデルに対する装置のこの予備
的「最適合」割振りの解析で最適割振りが使用されるも
のと仮定すると、訂正不能なタイミング・エラーを防ぐ
には十分に正確な推定クリティカル・パス時間の便利な
計算が可能になるが、普通ならそのような技術の「最適
合」マツピングにおけるクリティカル・パスの解析に支
障となるはずの異常値は回避される。
ィカル・パスの局部的変化を推定するために使用される
遅延値は、その特定技術に対する最適の装置割振りと整
合する値に制限される。モデルに対する装置のこの予備
的「最適合」割振りの解析で最適割振りが使用されるも
のと仮定すると、訂正不能なタイミング・エラーを防ぐ
には十分に正確な推定クリティカル・パス時間の便利な
計算が可能になるが、普通ならそのような技術の「最適
合」マツピングにおけるクリティカル・パスの解析に支
障となるはずの異常値は回避される。
最も重大な技術違反には次の2つがある。
ファンイン違反ニブロックに対する入力の数が、その技
術によって許容される数より大きい。
術によって許容される数より大きい。
ファンアウト違反ニブロック上の合計負荷が、その技術
によって許容される最大負荷よりも大きい。
によって許容される最大負荷よりも大きい。
フェーズ■では、フェーズIの終りに得られた推定モデ
ルにおける技術違反が訂正されるので、フェーズ■の終
りまでに、そのモデルは特定技術によって設定される妥
当な要件をほぼ滴たすようになる。プログラムのフェー
ズ■を第2図に概略的に示す。
ルにおける技術違反が訂正されるので、フェーズ■の終
りまでに、そのモデルは特定技術によって設定される妥
当な要件をほぼ滴たすようになる。プログラムのフェー
ズ■を第2図に概略的に示す。
フェーズ■では、クリティカル・パス・タイミングの局
部的変化が、やはり最適装置割振りという仮定を用いて
調節される。フェーズ■の終りでは、そのモデルの経路
遅延時間が、フェーズ■で得られた技術に適したモデル
における装置の実際の遅延時間を使って計算し直される
。
部的変化が、やはり最適装置割振りという仮定を用いて
調節される。フェーズ■の終りでは、そのモデルの経路
遅延時間が、フェーズ■で得られた技術に適したモデル
における装置の実際の遅延時間を使って計算し直される
。
フェーズ■も2つの部分からなる。フェーズ■の最初の
部分では、技術に適したモデルがその生産及び性能特性
を最適化すると同時に、所定のタイミング制約を満たす
ように微調整される。フェーズ■で許されるタイミング
訂正の範囲は、狭い範囲に制約されている。一般に、フ
ェーズ■で使用されるルーチンは、特定の接続またはス
ワツピング接続、すなわちファンイン違反を生じる可能
性がなく、ファンアウト負荷に最小の影響しか及ぼさな
いような動作を再配置することだけに限定される。別方
法としては、装置割振りを変更すると技術違反が生じる
場合に、モデル内の装置割振りを変更しない自己制限ル
ーチンを使用する。
部分では、技術に適したモデルがその生産及び性能特性
を最適化すると同時に、所定のタイミング制約を満たす
ように微調整される。フェーズ■で許されるタイミング
訂正の範囲は、狭い範囲に制約されている。一般に、フ
ェーズ■で使用されるルーチンは、特定の接続またはス
ワツピング接続、すなわちファンイン違反を生じる可能
性がなく、ファンアウト負荷に最小の影響しか及ぼさな
いような動作を再配置することだけに限定される。別方
法としては、装置割振りを変更すると技術違反が生じる
場合に、モデル内の装置割振りを変更しない自己制限ル
ーチンを使用する。
フェーズ■の第2の部分では、モデルに対する技術の詳
細なマツピングが完了し、完成したモデルに対する実際
の最終タイミング・データが計算され、文書化される。
細なマツピングが完了し、完成したモデルに対する実際
の最終タイミング・データが計算され、文書化される。
第3図はプログラムのフェーズ■の概略的流れ図である
。
。
」Lユ
フェーズ■
APPLY B11ILD14DL
ΔPPLY NORMALIZ
APPLY TIREDUCT
APPLY ASGNRULE
APPLY GTACIOAD
APPLY GTAALLOC
APPLY GTABKPT;
APPLY GTAIHIO;
APPLY GT八へN)lER(1);SET M
AXFO2000 SET CRIT 5LACK TIIRESH= 0
;APPLY GTACALC; REPEAT GTAPROPC。
AXFO2000 SET CRIT 5LACK TIIRESH= 0
;APPLY GTACALC; REPEAT GTAPROPC。
GTACMPRS。
GTAPREDC。
GTAREDtlH。
GTAREDIH。
GTAREDBY:
八PPLY GTAPWRUP (1)iAPPL
Y GTAREDFO(700,2)APPLY GT
ADUALR; 八PPLY GTASINGR; APPLY GTATIIRSll (50,500)
APPLY GTASIHVT (2)iAPPLY
GTAMINVT (2):SET CRIT
5LACK TIIRESII = O;APP
LY GTADIJALR; 八PPLY GTATIIRSll (50,30
0)SAPPLY GTAREDFO(150,2);
SET CUT 5LACK TIIRESII
= O;APPLY GTAtiNBIJF (2
);APPLY GTAFO(2000);SET M
AXFO999999; APPLY GTACALC; フェーズ■ APPLY GTAFOBAL; APPLY GTATHRSll (50゜APPLY
GTAPROMO(0゜ APPLY GTATI(RSI+ (50゜APPL
Y GTAREDFI (9゜APPLY GRATI
RSI+ (50゜APPLY GTAPROMO(
0゜REPEAT GTAPROPC。
Y GTAREDFO(700,2)APPLY GT
ADUALR; 八PPLY GTASINGR; APPLY GTATIIRSll (50,500)
APPLY GTASIHVT (2)iAPPLY
GTAMINVT (2):SET CRIT
5LACK TIIRESII = O;APP
LY GTADIJALR; 八PPLY GTATIIRSll (50,30
0)SAPPLY GTAREDFO(150,2);
SET CUT 5LACK TIIRESII
= O;APPLY GTAtiNBIJF (2
);APPLY GTAFO(2000);SET M
AXFO999999; APPLY GTACALC; フェーズ■ APPLY GTAFOBAL; APPLY GTATHRSll (50゜APPLY
GTAPROMO(0゜ APPLY GTATI(RSI+ (50゜APPL
Y GTAREDFI (9゜APPLY GRATI
RSI+ (50゜APPLY GTAPROMO(
0゜REPEAT GTAPROPC。
GTAREDUH。
GTARE[)I)l。
GTAREDBY;
APPLY GTATHRSll (50゜100);
100.10);
300);
1.150);
100.10);
100) ;
APPLY GTASIHVT (2);SET
CRIT 5LACに−TIIRESII = 0;A
PPLY GTACMPRS; APPLY GTADEMOR(150,2);AP
PLY GTACMPRS; APPLY GTATIIRSI (50,400)
APPLY GTACAND (0,2):SET
CRIT 5LACK TIIRESI = O;八P
PLY GTACMPRS;− APPLY GTABAO(3,400);APPLY
GTATIIRSll (50,400)APPL
Y GTACAO(200,2);SET CRIT
5LAC)jTIIREsI = 0八PPLY G
TACMPRES: 八PPLY GTATHRSH(70,300)AP
PLY GTAREGRP APPLY GTATIIRSII (Zoo、 3
00)八PPLY GTAREDFI (9,1,
150)フェーズ■ SET CRIT 5LACK TIIRESII =
O;APPLY GTAFI; APPLY GTAFIXOR(6,3);APPL
Y GRAPREDEC2 APPLY GTATIIRSI (70,300);
APPLY GTAREGRP; SET CRIT−SLACに−TIIRES[I
= OSΔPPLY GTAFI; 八PPLY GTAFO(2000);APPLY
GTAFOBAI、; APPLY GTAUNBUF (2):APPLY
GTASIH(2)S APPLY GTACELDHS ΔPPLY GTAREPυR(25)iAPPLY
GTAUNBUF(2)SAPPLY GTAFI
LL: APPLY GTASLOW; APPLY GTAFO(2000)iAPPLY R
CIITOTEC; APPLY GTACALC: 八PPLY GTAIIISTOS 八PPLY GTへSLIST; APPLY GTACIODE; ND フェーズIは、技術から独立したモデルをプロセッサに
読み込む命令APPLY BUILDMDLから始まる
。次に、ルーチンN0R)4ALIZEがい(つかの標
準のモデル表示形式のいずれか1つを受は入れ、それを
、このプログラムの論理合成過程で必要とされる様式に
合致させる。ルーチンTIRED[jCTは、技術から
独立したモデルをその最小プール式に減少させる。
CRIT 5LACに−TIIRESII = 0;A
PPLY GTACMPRS; APPLY GTADEMOR(150,2);AP
PLY GTACMPRS; APPLY GTATIIRSI (50,400)
APPLY GTACAND (0,2):SET
CRIT 5LACK TIIRESI = O;八P
PLY GTACMPRS;− APPLY GTABAO(3,400);APPLY
GTATIIRSll (50,400)APPL
Y GTACAO(200,2);SET CRIT
5LAC)jTIIREsI = 0八PPLY G
TACMPRES: 八PPLY GTATHRSH(70,300)AP
PLY GTAREGRP APPLY GTATIIRSII (Zoo、 3
00)八PPLY GTAREDFI (9,1,
150)フェーズ■ SET CRIT 5LACK TIIRESII =
O;APPLY GTAFI; APPLY GTAFIXOR(6,3);APPL
Y GRAPREDEC2 APPLY GTATIIRSI (70,300);
APPLY GTAREGRP; SET CRIT−SLACに−TIIRES[I
= OSΔPPLY GTAFI; 八PPLY GTAFO(2000);APPLY
GTAFOBAI、; APPLY GTAUNBUF (2):APPLY
GTASIH(2)S APPLY GTACELDHS ΔPPLY GTAREPυR(25)iAPPLY
GTAUNBUF(2)SAPPLY GTAFI
LL: APPLY GTASLOW; APPLY GTAFO(2000)iAPPLY R
CIITOTEC; APPLY GTACALC: 八PPLY GTAIIISTOS 八PPLY GTへSLIST; APPLY GTACIODE; ND フェーズIは、技術から独立したモデルをプロセッサに
読み込む命令APPLY BUILDMDLから始まる
。次に、ルーチンN0R)4ALIZEがい(つかの標
準のモデル表示形式のいずれか1つを受は入れ、それを
、このプログラムの論理合成過程で必要とされる様式に
合致させる。ルーチンTIRED[jCTは、技術から
独立したモデルをその最小プール式に減少させる。
ASGHROLEは技術に固有の遅延値を各ブロックに
割り当てる。各ブロックは、そのブロックに割り振られ
た技術で使用する最低の電力レベルによって発生される
遅延値を最初に割り当てられる。こレバ後テGTAPW
R[JP及びGTAREPVRニよってH節される。A
SGHRllLEによって与えられる遅延値は、続いて
GTACALCがモデルの各出力ピンに対する実際の到
着時間及び各入力ピンに対する予想到着時間を定義する
ために使用する。
割り当てる。各ブロックは、そのブロックに割り振られ
た技術で使用する最低の電力レベルによって発生される
遅延値を最初に割り当てられる。こレバ後テGTAPW
R[JP及びGTAREPVRニよってH節される。A
SGHRllLEによって与えられる遅延値は、続いて
GTACALCがモデルの各出力ピンに対する実際の到
着時間及び各入力ピンに対する予想到着時間を定義する
ために使用する。
ASG)IRULEは「最も適合する」遅延値を割り当
てる。したがって、ファンインまたはファンアウト要件
が特定技術で利用可能なファンインを超えたブロック、
すなわちその技術の「規則」に違反したブロックに、そ
の特定技術で最大のファンイン容量を有するブロックの
遅延値が割り当てられる。5つの入力が、その特定技術
でサポートされる最大のファンインである場合は、その
5つの入力を有するブロックに対する遅延値が、その最
大数よりも多数の入力を有するブロックに割り当てられ
る。
てる。したがって、ファンインまたはファンアウト要件
が特定技術で利用可能なファンインを超えたブロック、
すなわちその技術の「規則」に違反したブロックに、そ
の特定技術で最大のファンイン容量を有するブロックの
遅延値が割り当てられる。5つの入力が、その特定技術
でサポートされる最大のファンインである場合は、その
5つの入力を有するブロックに対する遅延値が、その最
大数よりも多数の入力を有するブロックに割り当てられ
る。
技術から独立したモデルの各プロ、りは一般に、そのブ
ロックを他のブロックに接続する入力端子及び出力端子
を有する。ASGHROLEは一般に、そのブロックを
通るこれらのピンの任意の対の間の遅延を、そのブロッ
クに対する単一値として扱う。
ロックを他のブロックに接続する入力端子及び出力端子
を有する。ASGHROLEは一般に、そのブロックを
通るこれらのピンの任意の対の間の遅延を、そのブロッ
クに対する単一値として扱う。
しカシ、ASGHRULE ルー 5− y ハ、CM
O8技術によるAND−ORブロック等、ピン間で遅延
時間が大きなばらつきのあるブロック上のピン接続に特
定の遅延調整値を割り当てる。これらのブロックは後で
プログラム内でGTAREGRPルーチンが再検討して
、クリティカル・パスの速度が増大するように、これら
のブロック上のピン接続を交換する。
O8技術によるAND−ORブロック等、ピン間で遅延
時間が大きなばらつきのあるブロック上のピン接続に特
定の遅延調整値を割り当てる。これらのブロックは後で
プログラム内でGTAREGRPルーチンが再検討して
、クリティカル・パスの速度が増大するように、これら
のブロック上のピン接続を交換する。
あるブロックの各入力及び各出力に対する特定の遅延調
整値をそのブロックの入力と出力の間の平均遅延に加え
て、これらのブロックを通る各経路に対する遅延の推定
値を得る。これにより入力及び出力のすべての可能な組
合せについて経路遅延を記憶する必要がなくなるが、ま
たこれらの特定のブロックについて均一の平均遅延を使
用することから生じる不正確さもなくなる。
整値をそのブロックの入力と出力の間の平均遅延に加え
て、これらのブロックを通る各経路に対する遅延の推定
値を得る。これにより入力及び出力のすべての可能な組
合せについて経路遅延を記憶する必要がなくなるが、ま
たこれらの特定のブロックについて均一の平均遅延を使
用することから生じる不正確さもなくなる。
GTABにPT GTAINIO及びGTAINME
Mは、技術から独立したモデルにインターフェース設計
基準を追加する。これらの外部基準は、そのモデルの必
要な性能を決定するものである。各モデルは、1つまた
は複数の主ブロックを有し、それにGTAINIOがイ
ンターフェース・タイミング・データを割り当てる。こ
れらの主ブロックはそれぞれ出力または入力だけしかも
つことができない。したがって、GTArNIOがタイ
ミング遅延データをモデルに割り当てる前に、そのモデ
ル内で定義された各両方向ピンごとにダミー・ブロック
を加えなければならない。これはGTACIOADルー
チンによって行なわれる。
Mは、技術から独立したモデルにインターフェース設計
基準を追加する。これらの外部基準は、そのモデルの必
要な性能を決定するものである。各モデルは、1つまた
は複数の主ブロックを有し、それにGTAINIOがイ
ンターフェース・タイミング・データを割り当てる。こ
れらの主ブロックはそれぞれ出力または入力だけしかも
つことができない。したがって、GTArNIOがタイ
ミング遅延データをモデルに割り当てる前に、そのモデ
ル内で定義された各両方向ピンごとにダミー・ブロック
を加えなければならない。これはGTACIOADルー
チンによって行なわれる。
GTAIHIOルーチンは次に両方向ピンに対する実際
の到着時間データ及び入力遅延データをダミー装置に割
り当てる。ダミー装置は主入カブロックになるが、第4
図に示すように、モデルの出力とも直列である。出力遅
延は両方向ピン上のトランシーバに帰属させられ、予想
時間は主出力ブロックに対する入力に帰属させられる。
の到着時間データ及び入力遅延データをダミー装置に割
り当てる。ダミー装置は主入カブロックになるが、第4
図に示すように、モデルの出力とも直列である。出力遅
延は両方向ピン上のトランシーバに帰属させられ、予想
時間は主出力ブロックに対する入力に帰属させられる。
SET MAXFO及びSET CRIT 5LACに
TIIRESHは、推定クリティカル・パスを識別する
ためのパラメータを設定する。これらのパラメータは、
フェーズエの第2の部分で速度について最適化される。
TIIRESHは、推定クリティカル・パスを識別する
ためのパラメータを設定する。これらのパラメータは、
フェーズエの第2の部分で速度について最適化される。
命令SET MAXFO2000は、2000XO,0
01ピコフアラツドの最大値を超える予備的モデルのす
べてのファンアウト負荷を、許容される最大値で置き換
える。命令SET CRIT 5LACK THRES
H= 0は、通常は「クリティカル」バスとして識別さ
れる経路のタイミング特性を定義する。
01ピコフアラツドの最大値を超える予備的モデルのす
べてのファンアウト負荷を、許容される最大値で置き換
える。命令SET CRIT 5LACK THRES
H= 0は、通常は「クリティカル」バスとして識別さ
れる経路のタイミング特性を定義する。
これらの命令゛は、モデル内の装置が最適の形で割り振
られているという仮定に合致する予備的モデルのタイミ
ング・データをもたらす。予備的モデルにおけるタイミ
ング・データの最初の割振りに関するこの制約により、
技術から独立したモデルのブロックに対する特定技術の
最初の割当ての後に、−時的に必要なパラメータのはる
か外側にある経路の訂正が過度に強調されることが防止
されるので、すべてのクリティカル・パス・タイミング
がより効果的に訂正される。したがって、その最大値よ
りも大きなファンアウト容量値は、2000X0.00
1ピコフアラツドで置き換えられ、実際の到着時間が少
なくとも予想到着時間を滴定しないすべての経路は、ク
リティカル・パスとして扱われる。
られているという仮定に合致する予備的モデルのタイミ
ング・データをもたらす。予備的モデルにおけるタイミ
ング・データの最初の割振りに関するこの制約により、
技術から独立したモデルのブロックに対する特定技術の
最初の割当ての後に、−時的に必要なパラメータのはる
か外側にある経路の訂正が過度に強調されることが防止
されるので、すべてのクリティカル・パス・タイミング
がより効果的に訂正される。したがって、その最大値よ
りも大きなファンアウト容量値は、2000X0.00
1ピコフアラツドで置き換えられ、実際の到着時間が少
なくとも予想到着時間を滴定しないすべての経路は、ク
リティカル・パスとして扱われる。
GTACALCは、この予備的モデル内の経路に対する
実際の到着時間及び予想到着時間をすべて計算すると、
フェーズエの最初の部分を終了する。次に、プログラム
内の個々のルーチンにより、特定のルーチンに対して定
義された閾値パラメータに基づいて、予備的モデル内の
クリティカル・パスが決定される。
実際の到着時間及び予想到着時間をすべて計算すると、
フェーズエの最初の部分を終了する。次に、プログラム
内の個々のルーチンにより、特定のルーチンに対して定
義された閾値パラメータに基づいて、予備的モデル内の
クリティカル・パスが決定される。
予想時間が実際時間よりも早い経路は、タイミングが一
般に「クリティカル」と考えられる経路である。すなわ
ち、命令rSET CRIT 5LACKTIIRES
II = OJによれば、差が0よりも小さい経路であ
る。経路の相対的クリティカル度は、1881年4月2
1日にドネイス(Donath )等に発行された米国
特許第4263851号に開示されるように、経路に沿
ったたるみ(スラック)、すなわち、実際時間と予想時
間の差で定義される。上記特許を引用により本明細書に
組み込む。
般に「クリティカル」と考えられる経路である。すなわ
ち、命令rSET CRIT 5LACKTIIRES
II = OJによれば、差が0よりも小さい経路であ
る。経路の相対的クリティカル度は、1881年4月2
1日にドネイス(Donath )等に発行された米国
特許第4263851号に開示されるように、経路に沿
ったたるみ(スラック)、すなわち、実際時間と予想時
間の差で定義される。上記特許を引用により本明細書に
組み込む。
フェーズIの残りの部分でモデル内のブロックに対して
多くの変更が加えられる可能性はあるが、モデル全体に
ついてのこの経路解析がフェーズエで再び実行されるこ
とはない。これは大きなモデルの場合は非常に時間のか
かる過程なので、表1に示す好ましい実施例では、もう
2回実行されるだけである。すなわち、フェーズ■での
モデルの適正化の終了時と、フェーズ■の終り近くの技
術に適したモデルの実現完了後である。
多くの変更が加えられる可能性はあるが、モデル全体に
ついてのこの経路解析がフェーズエで再び実行されるこ
とはない。これは大きなモデルの場合は非常に時間のか
かる過程なので、表1に示す好ましい実施例では、もう
2回実行されるだけである。すなわち、フェーズ■での
モデルの適正化の終了時と、フェーズ■の終り近くの技
術に適したモデルの実現完了後である。
フェーズIの第2の部分で、最適割振りという仮定に基
づいて、技術から独立したモデルから作成された予備的
モデル内のクリティカル・パスがGTACALCによっ
て暫定的に識別された後、プログラムはGTAPROP
C,GTAREDUNlGTAREDIH及びGTAR
EDBYを通ってループして、定数出力と冗長ゲートを
除去し、矛盾した入力を取り除く。このループはフェー
ズ■でも繰り返される。ただし、フェーズ■ではこのル
ープ中に2つの追加項目、GTACMPRSとGTAP
REDCが存在するが、フェーズ■では、時間訂正変換
に制約が課せられているため、それらの項目は現われな
い。
づいて、技術から独立したモデルから作成された予備的
モデル内のクリティカル・パスがGTACALCによっ
て暫定的に識別された後、プログラムはGTAPROP
C,GTAREDUNlGTAREDIH及びGTAR
EDBYを通ってループして、定数出力と冗長ゲートを
除去し、矛盾した入力を取り除く。このループはフェー
ズ■でも繰り返される。ただし、フェーズ■ではこのル
ープ中に2つの追加項目、GTACMPRSとGTAP
REDCが存在するが、フェーズ■では、時間訂正変換
に制約が課せられているため、それらの項目は現われな
い。
GTACMPRSは、可能な場合、1つのファンアウト
を存するブロックを他のブロックと組み合わせてファン
インを増大させる。従って、GTACMPRSは、特定
技術で許容される最大ファンインを超える危険がある。
を存するブロックを他のブロックと組み合わせてファン
インを増大させる。従って、GTACMPRSは、特定
技術で許容される最大ファンインを超える危険がある。
このため、フェーズエでは、他のルーチンによって挿入
された処分可能なブロックを除去するためにGTACM
PRSが頻繁に繰り返されるが、フェーズ■の初めのG
TAF Iより後にはGTACMPRSは全く実行され
ない。
された処分可能なブロックを除去するためにGTACM
PRSが頻繁に繰り返されるが、フェーズ■の初めのG
TAF Iより後にはGTACMPRSは全く実行され
ない。
一方、GTAPREDCは並列ブロックを除去するが、
それらの並列ブロックは、ファンアウト違反を訂正する
ために付加された可能性があるので、ファンアウト違反
を引き起こす可能性がある。したがって、他のルーチン
によって挿入された処分可能なブロックを除去するため
に、フェーズ■の早期にGTAPREDCが再び繰り返
されるが、フェーズ■の終りのGTAFOより後ではG
TAPREDCは全く実行されない。
それらの並列ブロックは、ファンアウト違反を訂正する
ために付加された可能性があるので、ファンアウト違反
を引き起こす可能性がある。したがって、他のルーチン
によって挿入された処分可能なブロックを除去するため
に、フェーズ■の早期にGTAPREDCが再び繰り返
されるが、フェーズ■の終りのGTAFOより後ではG
TAPREDCは全く実行されない。
この6つのルーチンは、ループを繰り薬すことによって
それ以上変更が発生しなくなるまで、このループで繰り
返される。ループの各繰返しの後で、第5図に示す好ま
しい実施例では、タイミング・データを更新し、各ルー
プによって発生された変更の後にモデル内のクリティカ
ル・パスの位置を確認するために、そのモデルについて
のタイミング・データの局部的再計算が行なわれる。
それ以上変更が発生しなくなるまで、このループで繰り
返される。ループの各繰返しの後で、第5図に示す好ま
しい実施例では、タイミング・データを更新し、各ルー
プによって発生された変更の後にモデル内のクリティカ
ル・パスの位置を確認するために、そのモデルについて
のタイミング・データの局部的再計算が行なわれる。
第5図の論理シーケンスは左から右に進む。ブロック出
力の実際の到着時間は、そのソース・ブロックの最後の
出力の到着時間を取り出し、当該の各ブロックの内部に
示したブロック遅延を加えることによって計算される。
力の実際の到着時間は、そのソース・ブロックの最後の
出力の到着時間を取り出し、当該の各ブロックの内部に
示したブロック遅延を加えることによって計算される。
同様に、プロ、り入力の予想到着時間は、後続ブロック
の最も早い入力の予想到着時間を取り出し、ブロック遅
延を差し引くことによって計算される。
の最も早い入力の予想到着時間を取り出し、ブロック遅
延を差し引くことによって計算される。
第5図で括弧内に示した経路のたるみは、ブロック間の
当該経路の右端の入力の予想到着時間と、経路の左端に
示した出力の実際の到着時間との差である。第5図に示
した1組の論理ブロックを通ルクリティカル・パスは、
それぞれ−4時間単位のたるみを有する要素を含む経路
である。
当該経路の右端の入力の予想到着時間と、経路の左端に
示した出力の実際の到着時間との差である。第5図に示
した1組の論理ブロックを通ルクリティカル・パスは、
それぞれ−4時間単位のたるみを有する要素を含む経路
である。
このデータは、各ルーチンの後にモデル全体について再
計算されない。その代りに、モデルがルーチンによって
変更されるたびに、影響を受けるブロックについてのタ
イミング・データが再計算される。次に、伝播によって
変更が生じなくなるかまたは経路の終りに達するまで、
変更された出力の実際の到着時間が、影響を受ける経路
に沿って伝播される。同様に、データに変更が生じなく
なるかまたは経路の始めに達するまで、これらのブロッ
クの変更によって影響を受ける入力の予想到着時間が伝
播される。この局部的再計算は、フェーズエの残りの部
分での各変更ごとにも行なわれ、フェーズ■及び■では
、プログラムによって実行される個々のルーチンの一部
として行なわれる。
計算されない。その代りに、モデルがルーチンによって
変更されるたびに、影響を受けるブロックについてのタ
イミング・データが再計算される。次に、伝播によって
変更が生じなくなるかまたは経路の終りに達するまで、
変更された出力の実際の到着時間が、影響を受ける経路
に沿って伝播される。同様に、データに変更が生じなく
なるかまたは経路の始めに達するまで、これらのブロッ
クの変更によって影響を受ける入力の予想到着時間が伝
播される。この局部的再計算は、フェーズエの残りの部
分での各変更ごとにも行なわれ、フェーズ■及び■では
、プログラムによって実行される個々のルーチンの一部
として行なわれる。
フェーズエの残りの部分に現われる新しいルーチンは、
以下の機能を実行するものである。
以下の機能を実行するものである。
GTAPVRUPはクリティカル・パスにおけるブロッ
クの電力レベルを増大させ、必要電力がより大きな割り
振られた装置に対してより高い電力レベルを使用するこ
とによってクリティカル・パスの速度を増大させること
ができる。たとえば、その入力のうちの2つだけを使用
するとき、大きい方のゲートの方が小さい方のゲートよ
りも速い場合、クリティカル・パス中の2つのファンイ
ンを有するゲートは、消費電力がより亮い5つのファン
インを有するゲートで置き換えられる。GTAPWRU
Pはクリティカル・パスに対する概略の技術に固をの電
力レベル定義をもたらす。この定義は、ASGNRUL
Eによって全ブロックに割り当てられた低い電力レベル
によって生じる大幅に誇張されたクリティカル・パス遅
延を減少させる。ただし、これらの遅延の誇張は、GT
APWRUPルーチンによって行なわれる再割振りから
ファンアウト違反が生じるかどうかに関係なく減少され
る。
クの電力レベルを増大させ、必要電力がより大きな割り
振られた装置に対してより高い電力レベルを使用するこ
とによってクリティカル・パスの速度を増大させること
ができる。たとえば、その入力のうちの2つだけを使用
するとき、大きい方のゲートの方が小さい方のゲートよ
りも速い場合、クリティカル・パス中の2つのファンイ
ンを有するゲートは、消費電力がより亮い5つのファン
インを有するゲートで置き換えられる。GTAPWRU
Pはクリティカル・パスに対する概略の技術に固をの電
力レベル定義をもたらす。この定義は、ASGNRUL
Eによって全ブロックに割り当てられた低い電力レベル
によって生じる大幅に誇張されたクリティカル・パス遅
延を減少させる。ただし、これらの遅延の誇張は、GT
APWRUPルーチンによって行なわれる再割振りから
ファンアウト違反が生じるかどうかに関係なく減少され
る。
GTAREDFOは、あまりクリティカルでない負荷を
扱う出力接続を緩衝することにより、クリティカルなブ
ロックに対する有効ファンアウト負荷を減少させる。第
7図で、クリティカル・パスは入力Aを出力Wに接続し
ている。第7図のステップ(b)では、クリティカル・
パス内の最初のブロックに対する負荷を減少させるため
に、ステップ(a)で示したX、Y及びZにおける信号
出力の非クリティカル・パスが緩衝された。これは、緩
衝されたブロック上のファンアウト違反を訂正する働き
があるが、緩衝ブロック自体でファンアウト違反を引き
起こす危険がある。
扱う出力接続を緩衝することにより、クリティカルなブ
ロックに対する有効ファンアウト負荷を減少させる。第
7図で、クリティカル・パスは入力Aを出力Wに接続し
ている。第7図のステップ(b)では、クリティカル・
パス内の最初のブロックに対する負荷を減少させるため
に、ステップ(a)で示したX、Y及びZにおける信号
出力の非クリティカル・パスが緩衝された。これは、緩
衝されたブロック上のファンアウト違反を訂正する働き
があるが、緩衝ブロック自体でファンアウト違反を引き
起こす危険がある。
括弧内の最初のGTAREDFOパラメータは遅延の1
/100ナノ秒単位で示した閾値パラメータである。こ
の閾値パラメータが、ある特定技術でバッファによって
引き起こされた経路遅延の増加に加えられる。バッファ
が加えられる経路のたるみは、この和よりも大きくなけ
ればならない。第2のパラメータは、適格な負荷を識別
するために使用される、論理回路を通る通過の回数であ
る。
/100ナノ秒単位で示した閾値パラメータである。こ
の閾値パラメータが、ある特定技術でバッファによって
引き起こされた経路遅延の増加に加えられる。バッファ
が加えられる経路のたるみは、この和よりも大きくなけ
ればならない。第2のパラメータは、適格な負荷を識別
するために使用される、論理回路を通る通過の回数であ
る。
GTAREDFOは、少数の明らかに訂正可能な違反の
みに影響を及ぼすように、早期にフェーズIの第2の部
分で、700という閾値パラメータを用いて厳しく制限
された形で最初に実行される。これは後になってフェー
ズ■で再び実行される。その場合、閾値パラメータはわ
ずか150であり、したがってクリティカル・パスに沿
ってファンアウト負荷を減少させることにより、クリテ
ィカル・パスを微調整することができる。
みに影響を及ぼすように、早期にフェーズIの第2の部
分で、700という閾値パラメータを用いて厳しく制限
された形で最初に実行される。これは後になってフェー
ズ■で再び実行される。その場合、閾値パラメータはわ
ずか150であり、したがってクリティカル・パスに沿
ってファンアウト負荷を減少させることにより、クリテ
ィカル・パスを微調整することができる。
GTADUALRは、それがクリティカル・パス速度に
とって利益になるなら、可能な場合、2重レール装置を
使用する。第9図では、ステップ(a)及び(b)の出
力Y及びZに接続されたANDブロックとインバータ・
ブロックの組合せの代りとして、ステップ(C)の2重
し−ルAND ブロックが使用される。反対に、GTA
SINGRは、それがクリティカル・パスにとって利益
になる場合、2重レール装置を単一レール装置に変換す
る。
とって利益になるなら、可能な場合、2重レール装置を
使用する。第9図では、ステップ(a)及び(b)の出
力Y及びZに接続されたANDブロックとインバータ・
ブロックの組合せの代りとして、ステップ(C)の2重
し−ルAND ブロックが使用される。反対に、GTA
SINGRは、それがクリティカル・パスにとって利益
になる場合、2重レール装置を単一レール装置に変換す
る。
GTASINGRは、単一レール装置の方がそれに対応
する2重レール装置よりも速い0MO8技術で有利であ
る。
する2重レール装置よりも速い0MO8技術で有利であ
る。
GTASIHVTはプリミティブ・ブロックの機能を反
転する。GTASIHVTは次に、プリミティブ・ブロ
ックによって供給されるクリティカル・パス中のインバ
ータ上のファンアウト接続を、そのインバータによって
供給されるものよりもクリティカルでない装置を供給す
る、そのブロック上のファンアウト接続と交換する。た
とえば、第6図のステップ(C2)に示すように、先行
AND ブロックが反転されてHANDブロックを形成
する場合は、ステップ(a)で信号rZJを発生するイ
ンバータ上のファンアウト接続を、先行AND ブロッ
ク上の信号「Y」のファンアウト接続と交換することが
できる。そのHAND ブロックが、次にステップ(c
l)の既存のAND ブロックと並列にモデルに加えら
れる。括弧内のパラメータは、適格なブロックを識別す
るために行なわれる、モデルを通る通過の回数である。
転する。GTASIHVTは次に、プリミティブ・ブロ
ックによって供給されるクリティカル・パス中のインバ
ータ上のファンアウト接続を、そのインバータによって
供給されるものよりもクリティカルでない装置を供給す
る、そのブロック上のファンアウト接続と交換する。た
とえば、第6図のステップ(C2)に示すように、先行
AND ブロックが反転されてHANDブロックを形成
する場合は、ステップ(a)で信号rZJを発生するイ
ンバータ上のファンアウト接続を、先行AND ブロッ
ク上の信号「Y」のファンアウト接続と交換することが
できる。そのHAND ブロックが、次にステップ(c
l)の既存のAND ブロックと並列にモデルに加えら
れる。括弧内のパラメータは、適格なブロックを識別す
るために行なわれる、モデルを通る通過の回数である。
GTATIIRSIIはGTASINVT ニ先行し、
フェーズIでのそのアクシロンを制限する。パラメータ
が(50,500) のとき、GTASIHVTハ、モ
デルの現在の最悪のたるみの50%よりも小さいか、ま
たは5ナノ秒よりも小さいたるみを有する適格なブロッ
クを無視する。このため、合成に必要な時間が減少し、
微調整訂正が他のルーチンによってアントウーされる可
能性があるときに、5IHVTが微調整訂正を行なうこ
とが妨げられる。
フェーズIでのそのアクシロンを制限する。パラメータ
が(50,500) のとき、GTASIHVTハ、モ
デルの現在の最悪のたるみの50%よりも小さいか、ま
たは5ナノ秒よりも小さいたるみを有する適格なブロッ
クを無視する。このため、合成に必要な時間が減少し、
微調整訂正が他のルーチンによってアントウーされる可
能性があるときに、5IHVTが微調整訂正を行なうこ
とが妨げられる。
GTATIIRSII (50,500’) (D効果
は、GTASIHVTルーチンの後に続< SET C
RIT 5LACK THRSH= 0によって取り消
される。
は、GTASIHVTルーチンの後に続< SET C
RIT 5LACK THRSH= 0によって取り消
される。
この時点で、GTASINVTが最初に使用された後、
ルーチンGTACMPRSが繰り返される。他の多数の
ルーチンがプログラムの後段で再び現われて、それらの
各ルーチンが先に実行された後にモデルに加えられた変
更の意図しない効果を打ち消す。ただし、 GTACM
PRSルーチンは、フェーズエで数回繰り返されるが、
上記のモデルの適正化に対して破壊的な効果を与える可
能性があるため、フェーズIが完了した後には再び現わ
れない。
ルーチンGTACMPRSが繰り返される。他の多数の
ルーチンがプログラムの後段で再び現われて、それらの
各ルーチンが先に実行された後にモデルに加えられた変
更の意図しない効果を打ち消す。ただし、 GTACM
PRSルーチンは、フェーズエで数回繰り返されるが、
上記のモデルの適正化に対して破壊的な効果を与える可
能性があるため、フェーズIが完了した後には再び現わ
れない。
GTADEMORは、ORをHANDで交換し、または
ANDをNORで交換すると、モデル内のインバータの
数が減少し、またはより高速な代りのプリミティブ機能
がより活用される場合、ドウモルガン(DeMorga
n )の規則を適用してモデル内のブロックを変換する
。たとえば、0MO8技術では、1(ANDは等価なO
Rブロックよりも速い。
ANDをNORで交換すると、モデル内のインバータの
数が減少し、またはより高速な代りのプリミティブ機能
がより活用される場合、ドウモルガン(DeMorga
n )の規則を適用してモデル内のブロックを変換する
。たとえば、0MO8技術では、1(ANDは等価なO
Rブロックよりも速い。
GTASINVTと同様に、GTADE140Rハ、直
列再電力配線のためにGTAFOによって加えられたイ
ンバータを取り除くので、GTAFOの後では実行され
ない。
列再電力配線のためにGTAFOによって加えられたイ
ンバータを取り除くので、GTAFOの後では実行され
ない。
1/100ナノ秒単位で示した括弧内の最初のGTAD
EMORパラメータが、ブロックのたるみに加えられて
、GTADE)IOR動作に対する閾値を決定する。G
TADEMORによってその経路にインバータを加える
には、適格なソースに対するたるみが、その和よりも大
きくなければならない。第2のパラメータは、適格なブ
ロックを識別するために行なわれる、モデルを通る通過
の回数である。
EMORパラメータが、ブロックのたるみに加えられて
、GTADE)IOR動作に対する閾値を決定する。G
TADEMORによってその経路にインバータを加える
には、適格なソースに対するたるみが、その和よりも大
きくなければならない。第2のパラメータは、適格なブ
ロックを識別するために行なわれる、モデルを通る通過
の回数である。
GTACAND はクリティカルなAND ブロックの
入力を後続のクリティカルなブロックに複写する。
入力を後続のクリティカルなブロックに複写する。
GTΔCMPRS とは異なり、このルーチンは、1の
ファンアウトを有するブロックだけには限定されない。
ファンアウトを有するブロックだけには限定されない。
さらに、GTACANDはAND ブロックの最もクリ
ティカルな出力経路に対するファンアウトを圧縮するだ
けである。第10図では、クリティカルなANDの2つ
の入力BとCが、出力信号Yを発、生する後続のAND
ブロックに複写される。
ティカルな出力経路に対するファンアウトを圧縮するだ
けである。第10図では、クリティカルなANDの2つ
の入力BとCが、出力信号Yを発、生する後続のAND
ブロックに複写される。
後続ブロックの他の入力は、その八NOブロックを通る
クリティカル・パスのたるみと、そのANDブロックが
圧縮される資格を有するための1/100ナノ秒単位で
括弧内に示した最初のパラメータとの和よりも大きなた
るみをもたなければならない。各ルーチンに対する括弧
内の第2の数は、適格なブロックを識別するために行な
われる、モデルを通る通過の回数である。
クリティカル・パスのたるみと、そのANDブロックが
圧縮される資格を有するための1/100ナノ秒単位で
括弧内に示した最初のパラメータとの和よりも大きなた
るみをもたなければならない。各ルーチンに対する括弧
内の第2の数は、適格なブロックを識別するために行な
われる、モデルを通る通過の回数である。
GTACA)IDルーチンの前に、クリティカルなたる
みに対する閾値を上げるGTATHRSH(50,40
0)ステートメントがある。そのため、GTACAND
が、その複写動作を実行する間にモデルのセル・カウン
トを大幅に増大させることが妨げられる。
みに対する閾値を上げるGTATHRSH(50,40
0)ステートメントがある。そのため、GTACAND
が、その複写動作を実行する間にモデルのセル・カウン
トを大幅に増大させることが妨げられる。
その複写動作は、クリティカルな入力が複写されるブロ
ックでファンイン違反を引き起こし、それらの入力のソ
ースでファンアウト違反を引き起こす恐れがあり、その
ため追加のブロックが必要となる。
ックでファンイン違反を引き起こし、それらの入力のソ
ースでファンアウト違反を引き起こす恐れがあり、その
ため追加のブロックが必要となる。
GTACANDはファンイン違反及びファンアウト違反
を引き起こす可能性があるので、GTAFI またはG
TAFOの後では決して実行されない。そのときはGT
ACANDの代りにGTAPROMO及びGTASIH
が使用され、同様の作業を行なうが、技術違反を引き起
こす可能性は少ない。
を引き起こす可能性があるので、GTAFI またはG
TAFOの後では決して実行されない。そのときはGT
ACANDの代りにGTAPROMO及びGTASIH
が使用され、同様の作業を行なうが、技術違反を引き起
こす可能性は少ない。
GTACAOはGTACAHDと類似しているが、AN
D−ORブロックを圧縮する。GTACANDの場合と
同様に、ブロックの他の出力は、AND−ORブロック
を通るクリティカル・パスのたるみと、そのAND−O
Rブロックが圧縮される資格を有するための、1710
0ナノ秒単位で括弧内に示した最初のパラメータとの和
よりも大きいたるみをもたなければならない。各ルーチ
ンに関する括弧内の第2の数は、適格なブロックを識別
するために行なわれる、モデルを通る通過の回数である
。
D−ORブロックを圧縮する。GTACANDの場合と
同様に、ブロックの他の出力は、AND−ORブロック
を通るクリティカル・パスのたるみと、そのAND−O
Rブロックが圧縮される資格を有するための、1710
0ナノ秒単位で括弧内に示した最初のパラメータとの和
よりも大きいたるみをもたなければならない。各ルーチ
ンに関する括弧内の第2の数は、適格なブロックを識別
するために行なわれる、モデルを通る通過の回数である
。
GTABΔ0は、GTACAOとは対照的に、GTAR
EDFIと同じく比較的クリティカルでない入力をAN
D−OR1AND−)10R,0R−AND及び0R−
HANDブロックから切り離す。このルーチンは、GT
ACAOによって圧縮される資格があるAND−ORブ
ロックの数を増大させるために、常にGTACAOの前
に実行される。括弧内の最初のGTABAOパラメータ
は、適格ブロックで許容されるクリティカルな入力の最
大数である。1/100ナノ秒単位で示した第2のパラ
メータは、ブロックに対する入力の最悪のたるみに加え
られる。他の入力は、そのたるみがその和よりも大きい
場合、クリティカルでない。
EDFIと同じく比較的クリティカルでない入力をAN
D−OR1AND−)10R,0R−AND及び0R−
HANDブロックから切り離す。このルーチンは、GT
ACAOによって圧縮される資格があるAND−ORブ
ロックの数を増大させるために、常にGTACAOの前
に実行される。括弧内の最初のGTABAOパラメータ
は、適格ブロックで許容されるクリティカルな入力の最
大数である。1/100ナノ秒単位で示した第2のパラ
メータは、ブロックに対する入力の最悪のたるみに加え
られる。他の入力は、そのたるみがその和よりも大きい
場合、クリティカルでない。
GTAREGPRは、経路に割り当てられたピンたとえ
ばAND−ORゲートに応じて遅延が大きく異なる、選
択されたブロック上の接続を、最もクリティカルな経路
が最も速いビンの組合せを通るように配列し直す。
ばAND−ORゲートに応じて遅延が大きく異なる、選
択されたブロック上の接続を、最もクリティカルな経路
が最も速いビンの組合せを通るように配列し直す。
GTAREDFI は、クリティカルな入力を残し、ク
リティカルでない入力を取り除く。GTAFI とは対
照的に、GTAREDFIはクリティカル・パス内のブ
ロックのファンインを減少させるだけである。第7図で
は、クリティカル・パスは入力Aと出力Wの間の接続で
ある。ステップ(C)で、ステップ(a)及び(b)に
示したクリティカルでない入力B、C1D及びEがステ
ップ(C)のクリティカル・パスの最初のブロックから
切り離されて、追加のAND ブロックに割り当てられ
、そのため、クリティカルなAND ブロックのファン
インが減少する。
リティカルでない入力を取り除く。GTAFI とは対
照的に、GTAREDFIはクリティカル・パス内のブ
ロックのファンインを減少させるだけである。第7図で
は、クリティカル・パスは入力Aと出力Wの間の接続で
ある。ステップ(C)で、ステップ(a)及び(b)に
示したクリティカルでない入力B、C1D及びEがステ
ップ(C)のクリティカル・パスの最初のブロックから
切り離されて、追加のAND ブロックに割り当てられ
、そのため、クリティカルなAND ブロックのファン
インが減少する。
括弧内の最初のパラメータは、残されるクリティカルな
入力の最大数であり、第2のパラメータは、GTARE
DEFIルーチンによって除去されるクリティカルでな
い入力の最小数である。1/100ナノ秒単位で示した
第3のパラメータは、入力経路中の最もクリティカルな
たるみに加えらる。この和よりも大きいたるみををする
経路はクリティカルでない。
入力の最大数であり、第2のパラメータは、GTARE
DEFIルーチンによって除去されるクリティカルでな
い入力の最小数である。1/100ナノ秒単位で示した
第3のパラメータは、入力経路中の最もクリティカルな
たるみに加えらる。この和よりも大きいたるみををする
経路はクリティカルでない。
GTAFIはプログラムのフェーズ■、すなわち、クリ
ティカル・パス速度について最適化された推定モデルの
適正化の始めをマークする。GTAFIは、ブロックに
対する入力の数が、その特定の形式のブロックに対して
技術が許容する数を超える場合に、ブロックのファンイ
ンを減少させる。
ティカル・パス速度について最適化された推定モデルの
適正化の始めをマークする。GTAFIは、ブロックに
対する入力の数が、その特定の形式のブロックに対して
技術が許容する数を超える場合に、ブロックのファンイ
ンを減少させる。
GTAFIXORは、大きなりリティカルなXORブロ
ックまたはパリティ・ブロックのファンインを減少させ
る。一般に、これらのブロックは大きな遅延を有する。
ックまたはパリティ・ブロックのファンインを減少させ
る。一般に、これらのブロックは大きな遅延を有する。
括弧内の最初のパラメータは、この動作を受ける資格が
あるXORの最小ファンインである。第2のパラメータ
は、この変換によって加えられる新しいXORで許容さ
れる最大ファンインである。
あるXORの最小ファンインである。第2のパラメータ
は、この変換によって加えられる新しいXORで許容さ
れる最大ファンインである。
GTAMIHVTは、GTAMINVTに先行するGT
ASINVTとは対照的に、そのプリミティブと並列で
あるが逆の機能を有する新しいブロックを生成し、次に
インバータのファンアウト・ツリーを新しいブロックに
移す。第6図のステップ(a)で、信号rZJを発生す
るインバータが直前のAND ブロックと組み合わされ
てHAND ブロックを形成する。そのHAND ブロ
ックは、次にステップ(cl)で、既存のAND ブロ
ックと並列にモデルに加えられる。
ASINVTとは対照的に、そのプリミティブと並列で
あるが逆の機能を有する新しいブロックを生成し、次に
インバータのファンアウト・ツリーを新しいブロックに
移す。第6図のステップ(a)で、信号rZJを発生す
るインバータが直前のAND ブロックと組み合わされ
てHAND ブロックを形成する。そのHAND ブロ
ックは、次にステップ(cl)で、既存のAND ブロ
ックと並列にモデルに加えられる。
別法として、ステップ(c2)に示すように、直前のA
ND ブロックが反転されてHAND ブロックを形成
する場合、ステップ(a)で信号rZJを発生するイン
バータ上のファンアウト接続を、直前のAND ブロッ
ク上の信号rYJのファンアウト接続と交換することが
できる。そのHAND ブロックは、次にステップ(c
l)で、既存のANDブロックと並列にモデルに加えら
れる。どの場合にも、括弧内のパラメータは、適格なブ
ロックを識別するために行なわれる、モデルを通る通過
の回数である。
ND ブロックが反転されてHAND ブロックを形成
する場合、ステップ(a)で信号rZJを発生するイン
バータ上のファンアウト接続を、直前のAND ブロッ
ク上の信号rYJのファンアウト接続と交換することが
できる。そのHAND ブロックは、次にステップ(c
l)で、既存のANDブロックと並列にモデルに加えら
れる。どの場合にも、括弧内のパラメータは、適格なブ
ロックを識別するために行なわれる、モデルを通る通過
の回数である。
GTAUNBUFはクリティカル・パスから緩衝を除去
する。括弧内のパラメータは、適格なバッファを識別す
るために使用される、論理回路を通る通過の回数である
。これは、後で繰り返される微調整手順であるが、モデ
ルを通る通過を2回実行するだけなので特に時間を消費
することはなく、後続のGTACALCタイミング計算
の信顆性を向上させる。
する。括弧内のパラメータは、適格なバッファを識別す
るために使用される、論理回路を通る通過の回数である
。これは、後で繰り返される微調整手順であるが、モデ
ルを通る通過を2回実行するだけなので特に時間を消費
することはなく、後続のGTACALCタイミング計算
の信顆性を向上させる。
GTAFOは2つの方法で、すなわち、クリティカルで
ない出力をバッファ・ブロックに割り当てることにより
過大負荷を分配する直列群電力配線、またはブロックを
複写し過大負荷をそのコピーに移す並列電力配線のいず
れかによって、ファンアウトを減少させる。第8図で、
出力Xは、ステップ(a)に示したブロックのファンア
ウト限界に違反する負荷を運ぶ。ステップ(bl)及び
(b2)で、ファンアウト違反が、それぞれXl及びX
2を負荷に接続する直列または並列再電力配線によって
訂正されている。ステップ(C)で、直列群電力配線及
び並列再電力配線が組み合わされ、したがってXl、X
2及びX3はすべて負荷に接続されて、出力負荷をさら
に減少させる。1/100ナノ秒単位で示したこのパラ
メータは、それを超えるとファンアウトが通常の限界を
超えてしまう、たるみの閾値である。
ない出力をバッファ・ブロックに割り当てることにより
過大負荷を分配する直列群電力配線、またはブロックを
複写し過大負荷をそのコピーに移す並列電力配線のいず
れかによって、ファンアウトを減少させる。第8図で、
出力Xは、ステップ(a)に示したブロックのファンア
ウト限界に違反する負荷を運ぶ。ステップ(bl)及び
(b2)で、ファンアウト違反が、それぞれXl及びX
2を負荷に接続する直列または並列再電力配線によって
訂正されている。ステップ(C)で、直列群電力配線及
び並列再電力配線が組み合わされ、したがってXl、X
2及びX3はすべて負荷に接続されて、出力負荷をさら
に減少させる。1/100ナノ秒単位で示したこのパラ
メータは、それを超えるとファンアウトが通常の限界を
超えてしまう、たるみの閾値である。
変換GTASIHVTは、GTAFOによって加えられ
たインバータを直列群電力配線のために移動させるので
、GTAFOの後では使用されない。同様に、GTAD
UALR及びGTASINGRは、正と負の出力を有す
るブロックに対してインバータの削除及び追加を行ない
、GTAFOの後では使用されない。
たインバータを直列群電力配線のために移動させるので
、GTAFOの後では使用されない。同様に、GTAD
UALR及びGTASINGRは、正と負の出力を有す
るブロックに対してインバータの削除及び追加を行ない
、GTAFOの後では使用されない。
GTAMINVTはインバータを取り除くのではな(ブ
ロックを複製するが、ブロックを追加すると、複製ブロ
ックに先行するブロックが運ぶ負荷が増大するので、G
TAMIHVTはファンアウト違反を発生させる可能性
がある。GTAMIHVTもGTAFOの後では使用さ
れない。
ロックを複製するが、ブロックを追加すると、複製ブロ
ックに先行するブロックが運ぶ負荷が増大するので、G
TAMIHVTはファンアウト違反を発生させる可能性
がある。GTAMIHVTもGTAFOの後では使用さ
れない。
GTAUNBUF ルー f yは、GTAFOによっ
てクリティカル・パスに加えられた緩衝をアントウーす
る。
てクリティカル・パスに加えられた緩衝をアントウーす
る。
ただし、このルーチンは、その活動が技術違反を引き起
こす場合は働かないようにコーディングされティる。し
たがッテ、GTASIHVT、 GTADUALR。
こす場合は働かないようにコーディングされティる。し
たがッテ、GTASIHVT、 GTADUALR。
GTASI)IGR及びGTAMINVT と異なり、
自己制限的であり、後でプログラムのフェーズ■の最初
の部分で行なわれる微調整の際に実行することができる
。
自己制限的であり、後でプログラムのフェーズ■の最初
の部分で行なわれる微調整の際に実行することができる
。
GTAFOの後に続< SETMAXFO999999
Lt、命令SET MAXFO(2000)によってフ
ァンアウト値に対して以前にセットされた最大限界を取
り除く。このため、後続の遅延計算ですべてのブロック
について実際の遅延値を使用することが可能となる。G
TACALCは次に、この時点までに完了したステップ
で技術から独立したモデルのブロックに割り当てられた
実際の装置に基づいて、モデル内の遅延時間の完全な再
計算を行なって、フェーズ■を終了する。
Lt、命令SET MAXFO(2000)によってフ
ァンアウト値に対して以前にセットされた最大限界を取
り除く。このため、後続の遅延計算ですべてのブロック
について実際の遅延値を使用することが可能となる。G
TACALCは次に、この時点までに完了したステップ
で技術から独立したモデルのブロックに割り当てられた
実際の装置に基づいて、モデル内の遅延時間の完全な再
計算を行なって、フェーズ■を終了する。
フェーズ■で現われる新しいルーチンは、フェーズ■で
行なわれた技術マツピング、及びフェーズ■で行なわれ
たクリティカル・パスの最適化を微調整するものである
。これらの新しいルーチンには次のものがある。
行なわれた技術マツピング、及びフェーズ■で行なわれ
たクリティカル・パスの最適化を微調整するものである
。これらの新しいルーチンには次のものがある。
GTAFOBALはモデル内のブロックのファンアウト
負荷を均衡させることによって、それらのブロックの処
理能力が向上するように、それらのブロックのファンア
ウト接続を再配置する。このルーチンは、ファンアウト
接続を等価な出力位置、すなわちそれぞれクリティカル
な接続またはクリティカルでない接続に適した位置に移
し、均衡化により、GTAFOによって残される最大フ
ァンアウトが効果的に減少する。
負荷を均衡させることによって、それらのブロックの処
理能力が向上するように、それらのブロックのファンア
ウト接続を再配置する。このルーチンは、ファンアウト
接続を等価な出力位置、すなわちそれぞれクリティカル
な接続またはクリティカルでない接続に適した位置に移
し、均衡化により、GTAFOによって残される最大フ
ァンアウトが効果的に減少する。
GTAPRO)10は、第6図に示すように、その経路
からあるブロックを取り除くことによって、単一のクリ
ティカルな信号の経路を短縮する。第6図でステップ(
a)に3つのブロックを通るものとして示したクリティ
カル信号経路「E」は、ステップ(b)では経路からA
ND ブロックを取り除くことによって格上げされてお
り、したがって2つのブロックのみを通る。これはGT
ACAND と類似しているが、選択されたブロックを
通るすべての信号が影響を受けるのではなく、1つの信
号だけが影響を受け、経路内の後続のすべてのブロック
が影響を受ける。
からあるブロックを取り除くことによって、単一のクリ
ティカルな信号の経路を短縮する。第6図でステップ(
a)に3つのブロックを通るものとして示したクリティ
カル信号経路「E」は、ステップ(b)では経路からA
ND ブロックを取り除くことによって格上げされてお
り、したがって2つのブロックのみを通る。これはGT
ACAND と類似しているが、選択されたブロックを
通るすべての信号が影響を受けるのではなく、1つの信
号だけが影響を受け、経路内の後続のすべてのブロック
が影響を受ける。
ルーチンGTAPROMOは、2つの理由で、フェーズ
■の最初の部分で行なわれる微調整に使用するのに適し
ている。第1に、GTAPROMOは、モデルがクリテ
ィカル・パスの速度に関して適正化され最適化された後
は、フェーズ■まで実行されない。
■の最初の部分で行なわれる微調整に使用するのに適し
ている。第1に、GTAPROMOは、モデルがクリテ
ィカル・パスの速度に関して適正化され最適化された後
は、フェーズ■まで実行されない。
したがって、クリティカルな信号の経路を短縮する機会
はほとんどない。そのため、それらの経路に沿ったファ
ンアウトに対するこのルーチンの影響は最小になる。第
2に、GTAPROMOは、その活動がファンイン違反
を引き起こす場合、活動を行なわないようにコーディン
グされている。
はほとんどない。そのため、それらの経路に沿ったファ
ンアウトに対するこのルーチンの影響は最小になる。第
2に、GTAPROMOは、その活動がファンイン違反
を引き起こす場合、活動を行なわないようにコーディン
グされている。
GTAPROMOに続<1/100ナノ秒単位で示した
最初の2つのパラメータは、それぞれ通常ブロック及び
XORブロックに対する閾値パラメータであり、候補経
路のたるみに加えられる。後続ブロックに対する他のす
べてのたるみは、候補経路のたるみと閾値の和よりも大
きな値をもたなければならない。括弧内の第3のパラメ
ータは、適格な経路を識別するために使用される、論理
回路を通る通過の回数である。
最初の2つのパラメータは、それぞれ通常ブロック及び
XORブロックに対する閾値パラメータであり、候補経
路のたるみに加えられる。後続ブロックに対する他のす
べてのたるみは、候補経路のたるみと閾値の和よりも大
きな値をもたなければならない。括弧内の第3のパラメ
ータは、適格な経路を識別するために使用される、論理
回路を通る通過の回数である。
GT八へROPC,GTAREDUH,GTAREDI
N及びGTAREBYは単に定数を伝播し、冗長論理回
路を除去するだけなので、それらが技術違反を引き起こ
す機会は少ない。GTAREGRP もブロック内で接
続を交換するだけである。したがって、これらのルーチ
ンは、GTAPROMOの後でGTAPIの最終適用の
前に、終結処置のために実行される。
N及びGTAREBYは単に定数を伝播し、冗長論理回
路を除去するだけなので、それらが技術違反を引き起こ
す機会は少ない。GTAREGRP もブロック内で接
続を交換するだけである。したがって、これらのルーチ
ンは、GTAPROMOの後でGTAPIの最終適用の
前に、終結処置のために実行される。
しかし、ピンが異なる負荷値を何する場合、GTARE
GRPがピン間で入力を移動させる間に先行ブロックで
ファンアウト違反を引き起こす機会はわずかなので、閾
値GTATIIRS11 (50,100)は、フェー
ズ■での閾値GTATIIRSH(70,300)より
も低く設定される。このためGTAREGRPの活動が
さらに制限される。
GRPがピン間で入力を移動させる間に先行ブロックで
ファンアウト違反を引き起こす機会はわずかなので、閾
値GTATIIRS11 (50,100)は、フェー
ズ■での閾値GTATIIRSH(70,300)より
も低く設定される。このためGTAREGRPの活動が
さらに制限される。
GTASIHは入力接続を交換する。接続を前方に格上
げだけするのではなく、第9図に示すように、一方の接
続が交換によって格上げされ、他方の接続が格下げされ
る。GTASIHルーチンは、クリティカルでない入力
Fが格下げされる先のブロックの出力を、ステップ(a
)に示したクリティカルな出力Eがステップ(b)で格
上げされるブロックにのみ接続しなければならない点で
、制限されている。したがって、GTASIHは幾分G
TAPROMOに似ているとはいえ、ファンアウト違反
を生じる可能性はより少ない。括弧内のパラメータは、
適格なブロックを識別するために使用される、モデルを
通る通過の回数である。
げだけするのではなく、第9図に示すように、一方の接
続が交換によって格上げされ、他方の接続が格下げされ
る。GTASIHルーチンは、クリティカルでない入力
Fが格下げされる先のブロックの出力を、ステップ(a
)に示したクリティカルな出力Eがステップ(b)で格
上げされるブロックにのみ接続しなければならない点で
、制限されている。したがって、GTASIHは幾分G
TAPROMOに似ているとはいえ、ファンアウト違反
を生じる可能性はより少ない。括弧内のパラメータは、
適格なブロックを識別するために使用される、モデルを
通る通過の回数である。
GTACELDN とGTAPVRUP ハ密接に関連
しテイル。
しテイル。
GTACELDN は、クリティカルでないブロックに
対する必要面積及び必要電力が最小の技術ブロックを選
択する。そのため、クリティカルでないブロックに影響
を及ぼすGTAPIJRUP電力の増大が不要となる。
対する必要面積及び必要電力が最小の技術ブロックを選
択する。そのため、クリティカルでないブロックに影響
を及ぼすGTAPIJRUP電力の増大が不要となる。
GTAREPWRは、GTAPIJRUPがクリティ
カルなブロックに対して行なわれた装置及び電力レベル
の割振りを微調整することにより、これらのクリティカ
ルなブロックの処理能力を最適化する。1/100ナノ
秒単位で示した括弧内のGTAPIJR1lPパラメー
タは、GTAPVRUP の活動がセル・カウントを増
大させる場合に実行しなければならない最小限の改善で
ある。どちらのルーチンも、その活動が技術違反を引き
起こす場合には曇かないようにコーディングされている
。
カルなブロックに対して行なわれた装置及び電力レベル
の割振りを微調整することにより、これらのクリティカ
ルなブロックの処理能力を最適化する。1/100ナノ
秒単位で示した括弧内のGTAPIJR1lPパラメー
タは、GTAPVRUP の活動がセル・カウントを増
大させる場合に実行しなければならない最小限の改善で
ある。どちらのルーチンも、その活動が技術違反を引き
起こす場合には曇かないようにコーディングされている
。
GTAFILL及びGTASLOWもタイミング及び割
振りに関する影響の点で類似している。GTAFILL
は、技術が特定のブロックについて一層多くの入力を必
要とする場合に、定数に結合された入力を加える。GT
ASLOυ、は、信号がクロック・サイクルの早過ぎる
時点でブロックに到達したときにタイミング・エラーが
起こるのを防止するため、短すぎる経路に遅延を付加す
る。どちらもクリティカル・パスにはほとんど影響を及
ぼさない。GTASLOWはファンイン割振りもファン
アウト割振りも増加させない。GTAFILLは、定数
信号に結合された入力、技術の要件を溝たすために必要
な入力のみを供給する。したがって、GTAFILLも
タイミングにほとんど影響を及ぼさず、割振りを変更し
ない。
振りに関する影響の点で類似している。GTAFILL
は、技術が特定のブロックについて一層多くの入力を必
要とする場合に、定数に結合された入力を加える。GT
ASLOυ、は、信号がクロック・サイクルの早過ぎる
時点でブロックに到達したときにタイミング・エラーが
起こるのを防止するため、短すぎる経路に遅延を付加す
る。どちらもクリティカル・パスにはほとんど影響を及
ぼさない。GTASLOWはファンイン割振りもファン
アウト割振りも増加させない。GTAFILLは、定数
信号に結合された入力、技術の要件を溝たすために必要
な入力のみを供給する。したがって、GTAFILLも
タイミングにほとんど影響を及ぼさず、割振りを変更し
ない。
RCHTOTECは、最後のGTAFOルーチンが実行
された後で、モデルの最終的な技術に適したハードウェ
ア・インプリメンテ−シロンにおける経路遅延の最終的
な完全な再計算の阜備として、技術から独立したモデル
上にマツプされた装置に関する詳細な仕様を供給する。
された後で、モデルの最終的な技術に適したハードウェ
ア・インプリメンテ−シロンにおける経路遅延の最終的
な完全な再計算の阜備として、技術から独立したモデル
上にマツプされた装置に関する詳細な仕様を供給する。
GTACALCは次にそのモデルについてたるみの最終
的な再計算を行なう。
的な再計算を行なう。
GTAHISTOは次に、その結果得られたたるみをグ
ラフで表わし、GTASLISTは、各装置に対する最
悪のたるみを遅延の大きい順にリストする。最後に、G
TAIODEは、GTACIOADによって付加された
ダミー・ブロックを除去し、プログラムは終了する。
ラフで表わし、GTASLISTは、各装置に対する最
悪のたるみを遅延の大きい順にリストする。最後に、G
TAIODEは、GTACIOADによって付加された
ダミー・ブロックを除去し、プログラムは終了する。
本発明は頭書の特許請求の範囲によって規定される。し
かし、当業者には明らかなように、本発明の精神及び範
囲内で変更及び変形を行なうことができる。具体的には
、本発明に基づく技術から独立したモデルについてのハ
ードウェア・インプリメンテーションの推定及び適正化
を依然としてもたらしながら、この論理合成方法で使用
する変換の特定の数及び性質をかなり変えることが可能
である。
かし、当業者には明らかなように、本発明の精神及び範
囲内で変更及び変形を行なうことができる。具体的には
、本発明に基づく技術から独立したモデルについてのハ
ードウェア・インプリメンテーションの推定及び適正化
を依然としてもたらしながら、この論理合成方法で使用
する変換の特定の数及び性質をかなり変えることが可能
である。
F1発明の効果
本発明を用いれば、効率的に論理回路の設計を行なうこ
とができる。
とができる。
表 2
擬似コード
手順GTACALC
/:タイミング・データを計算する*/for各ブロッ
クBについて実行スる DELAY(B) : = Bブロック遅延for ブ
ロックBの各出力Oについて実行するLOAD (0)
: = Oのファンアウト負荷for終了 for終了 for各ブロックBについて実行する if Bに対する入力がまだ初期設定されていない場合
、then INITIALIZE EXPECTED TIMES
(B)を呼び出す。
クBについて実行スる DELAY(B) : = Bブロック遅延for ブ
ロックBの各出力Oについて実行するLOAD (0)
: = Oのファンアウト負荷for終了 for終了 for各ブロックBについて実行する if Bに対する入力がまだ初期設定されていない場合
、then INITIALIZE EXPECTED TIMES
(B)を呼び出す。
if終了
if終了
if Bに対する出力がまだ初期設定されていない場合
、then INITIALIZE ACTUAL TIMES(B
)を呼び出すif終了 for終了 サブルー チア INITIALIZE EXPECT
ED TIMES (B)再帰的 EXPECTED TIME: = 999999;f
or ブロックBに対する各出力0について実行する for出力Oの各ファンアウトFについて実行する if Fの予想時間がまだ初期設定されていない場合、
then ■旧TIALIZE EXPECTED TIMES(
Fに対するブロック)を呼び出す EXPECTED TIME: = win(EXPE
CTEDTIME、 EXPECTED(F))for
終了 for終了 for ブロックBに対する各人力Iについて実行する EXPEにTED(I):= EXPECTED TI
ME −DELAY(B) for終了 INITIALIZE EXPECTED TIMES
終了ror ブロックBの各出力Oについて実行するA
CTUAL(0) : = EXPECTED TIM
E+DELAY(B)for終了 INITIALIZE EXPECTED TIMES
終了GTACALC終了 サブルーチンINITIALIZE ACTUAL T
IMES (B)再帰的 ACTUAL TIME:= −999999ifor
ブロツクBに対する各入力の各ソースSについて実行す
る if Sの実時間がまだ初期設定されていない場合、t
hen INITIALIZE ACTUAL TIMES(S
に対するブロック)を呼び出す ACTUAL TIME: = wax(ACTUAL
TIME。
、then INITIALIZE ACTUAL TIMES(B
)を呼び出すif終了 for終了 サブルー チア INITIALIZE EXPECT
ED TIMES (B)再帰的 EXPECTED TIME: = 999999;f
or ブロックBに対する各出力0について実行する for出力Oの各ファンアウトFについて実行する if Fの予想時間がまだ初期設定されていない場合、
then ■旧TIALIZE EXPECTED TIMES(
Fに対するブロック)を呼び出す EXPECTED TIME: = win(EXPE
CTEDTIME、 EXPECTED(F))for
終了 for終了 for ブロックBに対する各人力Iについて実行する EXPEにTED(I):= EXPECTED TI
ME −DELAY(B) for終了 INITIALIZE EXPECTED TIMES
終了ror ブロックBの各出力Oについて実行するA
CTUAL(0) : = EXPECTED TIM
E+DELAY(B)for終了 INITIALIZE EXPECTED TIMES
終了GTACALC終了 サブルーチンINITIALIZE ACTUAL T
IMES (B)再帰的 ACTUAL TIME:= −999999ifor
ブロツクBに対する各入力の各ソースSについて実行す
る if Sの実時間がまだ初期設定されていない場合、t
hen INITIALIZE ACTUAL TIMES(S
に対するブロック)を呼び出す ACTUAL TIME: = wax(ACTUAL
TIME。
ACTUAL (S) )
for終了
手順GTACMPRS
/:ファンイン・ツリーを圧縮する*/for各ブロッ
クBについて実行する if Bがちょうど1つの出力を有し、かつBに対する
出力がちょうど1つのファンアウトを有し、 かつ((BがAND ブロックであり、ファンアウト・
ブロックがAND。
クBについて実行する if Bがちょうど1つの出力を有し、かつBに対する
出力がちょうど1つのファンアウトを有し、 かつ((BがAND ブロックであり、ファンアウト・
ブロックがAND。
HAND、 AND−ORまたはAND−NORブロッ
クである) または(BがORブロックであり、 ファンアウト・ブロックがOR。
クである) または(BがORブロックであり、 ファンアウト・ブロックがOR。
NOR,OR−八HD または0R−HANDブロック
である) または(BがXORブロックであり、 ファンアウト・ブロックはXOR またはNXORブロックである)) 場合、then Bに対する入力をファンアウト・ブロックに移す Bを削除する ファンアウト・ブロックに対する規則を再割当てする 変更されたタイミング・データを再計算する if終了 for終了 GTACMPRS終了 手順GTAPREDC /*重複した並列ブロックを削除する:/「or各ブロ
ックBについて実行する S二二 Bに対する最初の入力のソースfor Sの各
ファンアウト・ブロックFについて実行する if FがBに等しい場合、then Fの出力のファンアウトをBの出力に移す Fを削除する 変更されたタイミング・データを再計算する if終了 for終了 for終了 GTAPREDC終了 手順 GTAPすRIIP (PASSES) /*クリティカル・ブロックの電力を増強する:1PA
SSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CにTIIRESHOLDの場合、then BEST RULE= Bの規則 BEST DELAY= DELAV(B)for ブ
ロックBに割り当てることができる各規則Rについて実
行する 規則RをブロックBに割り当てる DELAY (B)を再計算する if DELAY(B) <BEST DELAY の
場合、then BEST ROLE= R BEST 5LACK B= DELAV(B)if終
了 for終了 規則BEST RIJLEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 繰返し終了 GTAPIJRUP終了 手順GTAREDFO(MARGIN、 PASSES
)/*クリティカルでないファンアウトを緩衝すること
によりファンアウト負荷を減少させる*/ PASSES回繰り返す for各ブロックBについて実行する forブロックBの各出力Oについて実行すif 5L
ACK(0) <CRITICAL 5LACKTII
RESIIOLDの場合、thenfor出力Oの各フ
ァンアウトFについて実行する i「Fがバッファ・ブロックに対す る入力ではなく、 かつ5LACK (F)≧5LACK(0) +MAR
GINである場合、then FをOからOのファンアウト上の バッファ・ブロックの出力に移動 することによりFを緩衝する 変更されたタイミング・データを 再計算する if終了 for終了 if終了 for終了 for終了 繰返し終了 GTAREDFO終了 手順GTADUALR /:クリティカル・パスの利益となるように2重レイル
・ブロックを使用する:/ for各フロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK T11RESHOLDかつ技術がBに対する2重
レイル・ブロックをサポートする場合、then for ブロックBの各出力0について実行する for出力Oの各ファンアウト・ブロックFについて実
行する if Fがインバータ・ブロックである場合、then if Oに対するBの2重しイル出カbi t、にい場
合、then Oに対する2重レイル出力を作成する Bに対する規則を再割当てする if終了 Fの出力のファンアウトを0に対す るBの2重レイル出力に移す Fを削除する 変換されたタイミング・データを再 計算する if終了 for終了 for終了 if終了 for終了 GTAD口ΔLR終了 手順GTASIHGR /:クリティカル・パスの利益となるように単一レイル
・ブロックを使用する*/ for各ブロックBについて実行する if Bが2重レイルである場合、thenO:= B
の最もクリティカルな出力 if 5LACK(0) <CRITICAL 5LA
CK TIIRESIIOLDかつBが0の2重レイル
出力を有し、 かつ5LACK(Oの2重レイル出力)DELAY (
インバータ)> 5LACK(0)の場合、then Oのファンアウト上でイン/<−タ・ブロックを作成す
る 0の2重レイル出力のファンアウトをインバータ・ブロ
ックの出力に移す 0の2重レイル出力を削除する Bに対する規則を再割当てする 変更されたタイミング・データを再3+算する if終了 if終了 for終了 GTASINGR終了 手順GTASINVT GTASIHVT終了 /:反転ファンアウトを非反転ファンアウトと交換する
:/ for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5L
ACK TIIRESIIOLDかつBは反転可能で
あり、 かつインバータであるBのファンアウト・ブロックFで
あり、 かつ5LACK(F) =SLACK(B)の場合、t
hen Bの機能を反転する インバータのそれを除くBのファンアウトをインバータ
のファンアウトと交換するBに対する規則を再割当てす
る 変換されたタイミング・データを再計算する if終了 for終了 手順GTAMINVT (PASSES)/:f2列の
反転ブロックを作成するネ/PASSES回繰り返す for各ブロックBについて実行する if 5LACに(B)<CRIT、ICAL 5
LACに−TIIRESIIOLDかつBが反転可能で
あり、 かつインバータであるBのファンアウ ト・ブロックFがあり、 かつ5LACに(F) =SLACK(B)、かつイン
バータでないF゛のファンア ウト・ブロックがあり、 かつ5LACK(F’) −DELAY(インバータ)
<5LACK(B)の場合、then 反転された機能をもつもの以外のブロックBのコピーを
作成する インバータのファンアウトをBの反転コピーに移す インバータ・ファンアウトを削除する Bの反転コピーに対する規則を割り当てる 変更されたタイミング・データを再計算する if終了 for終了 PASSES回繰返し終了 GTAMINVT終了 手順GTADEMOR(14ARGIN、 PASSE
S)/:それが有利な場合、ドウモルガンの規則を適用
する:/ PASSES回繰り返す for各ブロックBについて実行する if Bが八HD、 OR,HAND、 またはNOR
ブロックであり、 かつ((SLACに(B) <CRITICAL 5L
ACKTIIRESIIOLD かつ5LACK (インバータを挿入しなければならな
いBのすべての入力 ソース)〉 5LACK(B) +MARGIH) または(SLACK(B)≧CRITICAL 5LA
CKTIIRESIIOLD かつドウモルガンの規則を適用 するとインバータ・ブロッ クの数が減少する))場合、 then Bに入ってくる入力信号を反転する Bの機能をそれぞれHOR,HAND、 OR。
である) または(BがXORブロックであり、 ファンアウト・ブロックはXOR またはNXORブロックである)) 場合、then Bに対する入力をファンアウト・ブロックに移す Bを削除する ファンアウト・ブロックに対する規則を再割当てする 変更されたタイミング・データを再計算する if終了 for終了 GTACMPRS終了 手順GTAPREDC /*重複した並列ブロックを削除する:/「or各ブロ
ックBについて実行する S二二 Bに対する最初の入力のソースfor Sの各
ファンアウト・ブロックFについて実行する if FがBに等しい場合、then Fの出力のファンアウトをBの出力に移す Fを削除する 変更されたタイミング・データを再計算する if終了 for終了 for終了 GTAPREDC終了 手順 GTAPすRIIP (PASSES) /*クリティカル・ブロックの電力を増強する:1PA
SSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CにTIIRESHOLDの場合、then BEST RULE= Bの規則 BEST DELAY= DELAV(B)for ブ
ロックBに割り当てることができる各規則Rについて実
行する 規則RをブロックBに割り当てる DELAY (B)を再計算する if DELAY(B) <BEST DELAY の
場合、then BEST ROLE= R BEST 5LACK B= DELAV(B)if終
了 for終了 規則BEST RIJLEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 繰返し終了 GTAPIJRUP終了 手順GTAREDFO(MARGIN、 PASSES
)/*クリティカルでないファンアウトを緩衝すること
によりファンアウト負荷を減少させる*/ PASSES回繰り返す for各ブロックBについて実行する forブロックBの各出力Oについて実行すif 5L
ACK(0) <CRITICAL 5LACKTII
RESIIOLDの場合、thenfor出力Oの各フ
ァンアウトFについて実行する i「Fがバッファ・ブロックに対す る入力ではなく、 かつ5LACK (F)≧5LACK(0) +MAR
GINである場合、then FをOからOのファンアウト上の バッファ・ブロックの出力に移動 することによりFを緩衝する 変更されたタイミング・データを 再計算する if終了 for終了 if終了 for終了 for終了 繰返し終了 GTAREDFO終了 手順GTADUALR /:クリティカル・パスの利益となるように2重レイル
・ブロックを使用する:/ for各フロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK T11RESHOLDかつ技術がBに対する2重
レイル・ブロックをサポートする場合、then for ブロックBの各出力0について実行する for出力Oの各ファンアウト・ブロックFについて実
行する if Fがインバータ・ブロックである場合、then if Oに対するBの2重しイル出カbi t、にい場
合、then Oに対する2重レイル出力を作成する Bに対する規則を再割当てする if終了 Fの出力のファンアウトを0に対す るBの2重レイル出力に移す Fを削除する 変換されたタイミング・データを再 計算する if終了 for終了 for終了 if終了 for終了 GTAD口ΔLR終了 手順GTASIHGR /:クリティカル・パスの利益となるように単一レイル
・ブロックを使用する*/ for各ブロックBについて実行する if Bが2重レイルである場合、thenO:= B
の最もクリティカルな出力 if 5LACK(0) <CRITICAL 5LA
CK TIIRESIIOLDかつBが0の2重レイル
出力を有し、 かつ5LACK(Oの2重レイル出力)DELAY (
インバータ)> 5LACK(0)の場合、then Oのファンアウト上でイン/<−タ・ブロックを作成す
る 0の2重レイル出力のファンアウトをインバータ・ブロ
ックの出力に移す 0の2重レイル出力を削除する Bに対する規則を再割当てする 変更されたタイミング・データを再3+算する if終了 if終了 for終了 GTASINGR終了 手順GTASINVT GTASIHVT終了 /:反転ファンアウトを非反転ファンアウトと交換する
:/ for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5L
ACK TIIRESIIOLDかつBは反転可能で
あり、 かつインバータであるBのファンアウト・ブロックFで
あり、 かつ5LACK(F) =SLACK(B)の場合、t
hen Bの機能を反転する インバータのそれを除くBのファンアウトをインバータ
のファンアウトと交換するBに対する規則を再割当てす
る 変換されたタイミング・データを再計算する if終了 for終了 手順GTAMINVT (PASSES)/:f2列の
反転ブロックを作成するネ/PASSES回繰り返す for各ブロックBについて実行する if 5LACに(B)<CRIT、ICAL 5
LACに−TIIRESIIOLDかつBが反転可能で
あり、 かつインバータであるBのファンアウ ト・ブロックFがあり、 かつ5LACに(F) =SLACK(B)、かつイン
バータでないF゛のファンア ウト・ブロックがあり、 かつ5LACK(F’) −DELAY(インバータ)
<5LACK(B)の場合、then 反転された機能をもつもの以外のブロックBのコピーを
作成する インバータのファンアウトをBの反転コピーに移す インバータ・ファンアウトを削除する Bの反転コピーに対する規則を割り当てる 変更されたタイミング・データを再計算する if終了 for終了 PASSES回繰返し終了 GTAMINVT終了 手順GTADEMOR(14ARGIN、 PASSE
S)/:それが有利な場合、ドウモルガンの規則を適用
する:/ PASSES回繰り返す for各ブロックBについて実行する if Bが八HD、 OR,HAND、 またはNOR
ブロックであり、 かつ((SLACに(B) <CRITICAL 5L
ACKTIIRESIIOLD かつ5LACK (インバータを挿入しなければならな
いBのすべての入力 ソース)〉 5LACK(B) +MARGIH) または(SLACK(B)≧CRITICAL 5LA
CKTIIRESIIOLD かつドウモルガンの規則を適用 するとインバータ・ブロッ クの数が減少する))場合、 then Bに入ってくる入力信号を反転する Bの機能をそれぞれHOR,HAND、 OR。
ANDに変更する
Bに対する規則を再割当てする
変更されたタイミング・データを再計算する
if終了
for終了
繰返し終了
GTADEMOR終了
手順 GTACAND (14ΔRGIN、 PA
SSES)/:クリティカルAND ブロックをクリテ
ィカル・ファンアウト・ブロックに圧縮する:/# G
TACAOは、類似しているが、Δ)10−ORブロッ
クと共に働<:/ PASSES回反復する for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5L
ACK TIIRESIIOLDかつBがAND ブ
ロックである場合、then forブロックBの出力の各ファンアウト・ブロックF
について実行する if FがAND、 OR,HAND、 NOR,AN
D−ORまたはAND−NORブロックであり、かつ5
LACK (そのソースがBであるFの入力)=SL八
Cへ(B) かつ5LACK(Fの1つ置きの入力)≧5LACK(
B) +MARG工N の場合、then Bの入力をFに複写する Bの出力のファンアウトからFを除 去する if Bの出力がファンアウトを持た ない場合、then Bを解除する Fに対する規則を再割当てする 変更されたタイミング・データを再 計算する if終了 for終了 if終了 for終了 繰返し終了 GTACAND終了 手順 GTABAO(MAX CRITICAL
GROUPS、 MARGIN)/:クリティカルな
合成ブロックからクリティカルでないグループを切り離
す:/ for各ブロックBについて実行する if” 5LACK(B)<CRITICAL 5
LACK TIIRESIIOLDかつBがAND−
ORXAND−HOR,0R−ANDまたは0R−Nf
VHD ブロックであり、かつBが、5LACK (g
roup)≧5LACK(B) +MARGI14 と
なるようなグループを少なくとも2個有し、 かつBがSL八へK(group) <5LACK(B
) +MARGIN となるようなグループをMAX
CRITICAL GROUPS個しか持たない場合
、then Bに対してそれぞれAI(D−OR,AND−OR10
R−AND または0R−AND ブロックを作成する
Bの「クリティカルでない」グループを新しいブロック
に移す 新しいブロックをBにリンクする if Bの各グループがこのとき1つの入力しか有さな
い場合、then Bの機能をそれぞれOR,NOR,AND。
SSES)/:クリティカルAND ブロックをクリテ
ィカル・ファンアウト・ブロックに圧縮する:/# G
TACAOは、類似しているが、Δ)10−ORブロッ
クと共に働<:/ PASSES回反復する for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5L
ACK TIIRESIIOLDかつBがAND ブ
ロックである場合、then forブロックBの出力の各ファンアウト・ブロックF
について実行する if FがAND、 OR,HAND、 NOR,AN
D−ORまたはAND−NORブロックであり、かつ5
LACK (そのソースがBであるFの入力)=SL八
Cへ(B) かつ5LACK(Fの1つ置きの入力)≧5LACK(
B) +MARG工N の場合、then Bの入力をFに複写する Bの出力のファンアウトからFを除 去する if Bの出力がファンアウトを持た ない場合、then Bを解除する Fに対する規則を再割当てする 変更されたタイミング・データを再 計算する if終了 for終了 if終了 for終了 繰返し終了 GTACAND終了 手順 GTABAO(MAX CRITICAL
GROUPS、 MARGIN)/:クリティカルな
合成ブロックからクリティカルでないグループを切り離
す:/ for各ブロックBについて実行する if” 5LACK(B)<CRITICAL 5
LACK TIIRESIIOLDかつBがAND−
ORXAND−HOR,0R−ANDまたは0R−Nf
VHD ブロックであり、かつBが、5LACK (g
roup)≧5LACK(B) +MARGI14 と
なるようなグループを少なくとも2個有し、 かつBがSL八へK(group) <5LACK(B
) +MARGIN となるようなグループをMAX
CRITICAL GROUPS個しか持たない場合
、then Bに対してそれぞれAI(D−OR,AND−OR10
R−AND または0R−AND ブロックを作成する
Bの「クリティカルでない」グループを新しいブロック
に移す 新しいブロックをBにリンクする if Bの各グループがこのとき1つの入力しか有さな
い場合、then Bの機能をそれぞれOR,NOR,AND。
HANDに変換する
if終了
Bに対する規則を再割当てする
新しいブロックに対する規則を割り当てる変更されたタ
イミング・データを再計算する if終了 for終了 GTAB八〇終へ 手順GTAREGRP /ニブロックを通る最もクリティカルな経路がブロック
を通る最も速い経路を取るようにクリティカルな合成ブ
ロックを再グループ化する:/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESIIOLDカッB 75(AND−
OR,AND−NOR,0R−ANDまたは0R−NA
ND ブロックである場合、then (Bのグループの数−1)回繰り返す 0LDG:=再割当てされていないBの最もクリティカ
ルなグループ 1(EWG:=グループを再割当てされていないBを通
る最も早い経路を含む グループ グループ01.D Gの入力をグループNEWGの入力
と交換する 割り当てられたクリティカル・グループとしてOLD
Gをマークする 繰返し終了 変更されたタイミング・データを再計算する if終了 for終了 GTAREGRP終了 手順GTAREDFI (MAX CRITICAL
IHPUTSlHIN )108 CRITICAL
IHPUTS。
イミング・データを再計算する if終了 for終了 GTAB八〇終へ 手順GTAREGRP /ニブロックを通る最もクリティカルな経路がブロック
を通る最も速い経路を取るようにクリティカルな合成ブ
ロックを再グループ化する:/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESIIOLDカッB 75(AND−
OR,AND−NOR,0R−ANDまたは0R−NA
ND ブロックである場合、then (Bのグループの数−1)回繰り返す 0LDG:=再割当てされていないBの最もクリティカ
ルなグループ 1(EWG:=グループを再割当てされていないBを通
る最も早い経路を含む グループ グループ01.D Gの入力をグループNEWGの入力
と交換する 割り当てられたクリティカル・グループとしてOLD
Gをマークする 繰返し終了 変更されたタイミング・データを再計算する if終了 for終了 GTAREGRP終了 手順GTAREDFI (MAX CRITICAL
IHPUTSlHIN )108 CRITICAL
IHPUTS。
MARGIN)
/*クリティカル・ブロックからクリティカルでない入
力を切り離す*/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESIIOLDかつBがAND、 0R
SXOR,HAND、 NOR。
力を切り離す*/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESIIOLDかつBがAND、 0R
SXOR,HAND、 NOR。
NXOR,AND−OR,AND−NORXOR−AN
D または0R−HAND ブロックの場合、then
for Bの各入力グループGについて実行スる if G が 5LACK(input) ≧
5LACに(G)+MARGIN となるような入力を
少なくとも)!IN HOW CRITICAL IN
PUTS個有し、かつGが5LACK(input)
<5LACK(G) 十MARGIN となるような入
力を MAX CRITICAL lNPtlTS個しか持た
ない場合、then Gに対しテソれぞれAND、 OR,XOR。
D または0R−HAND ブロックの場合、then
for Bの各入力グループGについて実行スる if G が 5LACK(input) ≧
5LACに(G)+MARGIN となるような入力を
少なくとも)!IN HOW CRITICAL IN
PUTS個有し、かつGが5LACK(input)
<5LACK(G) 十MARGIN となるような入
力を MAX CRITICAL lNPtlTS個しか持た
ない場合、then Gに対しテソれぞれAND、 OR,XOR。
AND、 OR,X0R1AND、 AND ORまた
はORブロックを作成する Gの「クリティカルでない」入力を 新しいブロックに移す 新しいブロックをBのグループGに リンクする if終了 if Bが、AND−OR,AND−NORXOR−
AND *たは0R−HAND ブロックであり、がっ
Bの各グループがこのとき1つの入 力しか持たない場合、then B17)機能をそれぞれ0RSNOR,AND。
はORブロックを作成する Gの「クリティカルでない」入力を 新しいブロックに移す 新しいブロックをBのグループGに リンクする if終了 if Bが、AND−OR,AND−NORXOR−
AND *たは0R−HAND ブロックであり、がっ
Bの各グループがこのとき1つの入 力しか持たない場合、then B17)機能をそれぞれ0RSNOR,AND。
HANDに変更する
if終了
Bに対する規則を再割当てする
新しいブロックに対する規則を割り当てる
変更され−たタイミング・データを再計算する
for終了
if終了
for終了
GT八へEDFI終了
手順
/:
TAFI
ファンイン違反を有するブロックを訂正する:/
for各ブロックBについて実行する
if BがAND、 0R1XOR,HAND%N0R
1NXOR。
1NXOR。
AND−OR,AND−NOR,0R−ANDまたは0
R−HAI(D ブロックである場合、thenfor
Bの各入力グループGについて実行する ifこのグループにおけるBの入力の数〉Bに割り当て
られた規則によってサ ポートされるこのグループに対する 入力の数である場合、then 根きしてそれぞれブロックBのグルー プGを備えた、ブロックBのグルー プGに対するAND、 OR,XOR,AND。
R−HAI(D ブロックである場合、thenfor
Bの各入力グループGについて実行する ifこのグループにおけるBの入力の数〉Bに割り当て
られた規則によってサ ポートされるこのグループに対する 入力の数である場合、then 根きしてそれぞれブロックBのグルー プGを備えた、ブロックBのグルー プGに対するAND、 OR,XOR,AND。
OR,XOR,AND、 Al4D10R,ORブロッ
クのツリーを作成する グループGの過大入力のうち最もクリ ティカルでない入力をツリーの葉に移 す ツリーの根基外の各ノードに規則を割 り当てる 変更されたタイミング・データを再計 算する ir終了 for終了 if終了 for終了 GTAFI終了 手順GTAPIXOR(MINFΔN IL MAX
FAN IN)/*大きなりリティカルXORブロック
を分割する′P/ for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5LA
CK TtlRESIIOLDかつB75(XORブロ
ックであり、 かつBが少なくともMIN FAN INの入力を有す
る場合、then それぞれがMAX FAN IN個の入力しか持たない
XORブロックのツリーにBを分割する ツリーの各ノードに規則を割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTAFIXOR終了 手順GTAtlNBFU (PASSES)/:クリテ
ィカル・パスからバッファ・ブロックを除去する:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK THRESIIOLDかつBがバッファ・ブロッ
クであり、 かつ5LACK(Bに対する入力のソース・ブロック)
=SLACK(B)の場合、then F: =SLACK(F) =SLACK(B)である
Bの出力のファンアウト FをBの出力のファンアウトからBに対する入力のソー
スのファンアウトに移すif Bの出力がファンアウト
を持たない場合1then Bを削除する if終了 変更されたタイミング・データを再計算する if終了 for終了 繰返し 終了 GTAUNBUF終了 手順GTAFO(MARGIN) /:ファンイン負荷違反を有する出力ピンを備えたブロ
ックを訂正するネ/ for各ブロックBについて実行する for ブロックBの各出力Oについて実行するif’
LOAD(0) > Bに割り当てられた規則によっ
て許容される数 かつSLΔCK(B) <CRITICAL 5LAC
KTIIRESIIOLD + MARGINである場
合、if 5LACK(B) <CRITICAL 5
LACK Tl(RESIIOLDかつBが小さなブロ
ックである場合、 then LOAD(0)が許容レベルまで減少するように、Oの
十分なファンアウトをそこ に移すことが可能なブロックBの十分 なコピーを作成する elseそうでない場合、 LOAD (0)が許容レベルまで減少されるように、
0の十分なファンアウトを そこに移すことが可能なOからファ ンアウトするバッファ・ブロックを 作成する if終了 変更されたタイミング・データを再計算する if終了 for終了 for終了 GTAFO終了 手順GTAFOBAL /*等価な出力間のファンアウト負荷をそれらのたるみ
が最大になるように均衡させる:/for等しい出力の
各セットSについて実行するTOP OF LOOP: 0:=Sにおける最もクリティカルな出力if Oがク
リティカルである場合、thenOLD 5LACK
O: −5LACK(0)F:=0の最もクリティカル
なファンアウトforセットSの各出力0°について実
行する if O’=Oの場合、then FをOのファンアウトからOoのファ ンアウトに移す 変更されたタイミング・データを再計 算する if 5LACK(0’) >OLD 5LACK O
の場合、then TOP OF LOOP に戻る if終了 0′のファンアウトからOのファンア ウトにFを再び移す 変更されたタイミング・データを再計 算する if 終了 for 終了 forセットSの各出力O“について実行する if O°=0の場合、then for出力O“の各ファンアウトF°について実行する Fを0のファンアウトからOoのファ ンアウトに移す F yを0′のファンアウトから0の ファンアウトに移す 変更されたタイミング・データを再 計算する if 5LACK(0’) >OLD 5LACK O
かつ5LACK(0) >OLD 5LACK Oの場
合、then TOP OF LOOPに戻る if終了 FをO“のファンアウトからOのファ ンアウトに再び移す FをOのファンアウトから01のファ ンアウトに再び移す 変更されたタイミング・データを再 計算する for終了 if終了 for終了 if終了 for終了 GTAFOBAL終了 手順GTAPROMO(MARGIN、 XORMAR
GIN、 PASSES)/:クリティカル入力をファ
ンアウト・ブロックに格上げする:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5LAC
K TIIRESIIOLDかつBがAND、 ORま
たハXORブロックである場合、then for Bの出力のすべてのファンアウト・ブロックF
について実行する if ((BがAND ブロックであり)かつ(FがA
ND、 HAND、 AND−ORまたはへ〇〇−NO
Rブロック ではない)) または((BがORブロックであり) かつ(FがOR,NOR,0R−ANDまたは0R−H
ANDブロックで はない)) または((BがXORブロックであり)かつ(FがXO
RまたはNXORブ ロックではない))場合、 then NEXT BLOCKに進む if終了 汀Fに対するもう1つの入力をサポー トする規則がない場合、then NEXT BLOCK ニ進む if終了 forブロックFの各人力■について実行する if IのソースがBでなく かつ((BはANDまたはOR ブロックであり、 かつ5LACK(I) −MARGI)I<5LACK
(B) または(BがXORブロックで あり かつ5LACK(I) −XORMARGIN<5LA
CK(B)))の場合、 then NEXT BLOCKに進む if終了 for終了 for終了 ■:=Bに対する最もクリティカルな入力for Bの
出力のすべてのファンアウト・ブロックFについて実行
する 入力Iをファンアウト・ブロックFに 複写する ファンアウト・ブロックFに対する規 則を再割当てする for終了 ブロックBから入力Iを削除する if ブロックBが1つの入力しか持たない場合、th
en Bを論理から除去する elseそうでない場合、 ブロックBに対する規則を再割り当て する if終了 変更されたタイミング・データを再計算する if終了 NEXT BLOCK : for終了 繰返し終了 GTAPROMO終了 手順GTASIN (PASSES) /:クリティカル入力をクリティカルでない入力と交換
する:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK THRESIIOLDかつBがAND、 ORま
たはXORブロックであり、 かつBがちょうど1つの出力Oを有し、かつOがちょう
ど1つのファンアウト・ブロックFを何し、 かつ5LACK(F) =SLACK(B)の場合、t
hen OLD 5LACに F = 5LACK(F)C
=Hに対する最もクリティカルな大力−’: = Fに
対する最もクリティカルな入力 if I’のソース・ブロック”二Bの場合、then 入力IをブロックBからブロックFに 移す 大カニ゛をブロックFからブロックB に移す 変更されたタイミング・データを再計 算する if 5LACに(F) <OLD 5LACK Fの
場合、then 入力IをブロックBからブロックB に再び移す 大力■゛をブロックFからブロック Fに再び移す 変更されたタイミング・データを再 計算する if終了 if終了 if終了 for終了 繰返し終了 GTASIH終了 手順 GTACELDN /*クリティカルでないブロックに対するサイズが最小
とする規則を選択するネ/ for各ブロックBについて実行する if 5LACK(B)≧CRITICAL 5LAC
K TIIRESHOLDの場合、then BEST RULE = Bの規則 BEST 5IZE B = Bの規則のサイズfor
ブロックBに割り当てることができる各規則Rについ
て実行する if Rの大きさくBEST 5IZE Bの場合、t
hen 規則RをブロックBに割り当てる 変更されたタイミング・データを再計 算する if 5LACK(B) >CRITICAL 5LA
CKTIIRESIIOLDの場合、thenBEST
RULE=R BEST 5IZE B=規則Rのサイズif終了 if終了 for終了 規則BEST RULEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTACELDN終了 手順 GTAREPWR(HIM I14PROVEMEH
T)/*クリティカル・ブロックに対する、たるみが最
大となる規則を選択するネ/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESHOLDの場合、then BEST RULE= Bの規則 BEST 5LACK B=SLACK(B)for
ブロックBに割り当てることができる各規則Rについて
実行する 規則RをブロックBに割り当てる 変更されたタイミング・データを再計算する if 5LACK(B) >BEST 5LACK B
の場合、then BEST RULE = R BEST 5LACK B=SLΔCK(B)if終了 for終了 規則BEST RULEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTAREPIJR終了
クのツリーを作成する グループGの過大入力のうち最もクリ ティカルでない入力をツリーの葉に移 す ツリーの根基外の各ノードに規則を割 り当てる 変更されたタイミング・データを再計 算する ir終了 for終了 if終了 for終了 GTAFI終了 手順GTAPIXOR(MINFΔN IL MAX
FAN IN)/*大きなりリティカルXORブロック
を分割する′P/ for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5LA
CK TtlRESIIOLDかつB75(XORブロ
ックであり、 かつBが少なくともMIN FAN INの入力を有す
る場合、then それぞれがMAX FAN IN個の入力しか持たない
XORブロックのツリーにBを分割する ツリーの各ノードに規則を割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTAFIXOR終了 手順GTAtlNBFU (PASSES)/:クリテ
ィカル・パスからバッファ・ブロックを除去する:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK THRESIIOLDかつBがバッファ・ブロッ
クであり、 かつ5LACK(Bに対する入力のソース・ブロック)
=SLACK(B)の場合、then F: =SLACK(F) =SLACK(B)である
Bの出力のファンアウト FをBの出力のファンアウトからBに対する入力のソー
スのファンアウトに移すif Bの出力がファンアウト
を持たない場合1then Bを削除する if終了 変更されたタイミング・データを再計算する if終了 for終了 繰返し 終了 GTAUNBUF終了 手順GTAFO(MARGIN) /:ファンイン負荷違反を有する出力ピンを備えたブロ
ックを訂正するネ/ for各ブロックBについて実行する for ブロックBの各出力Oについて実行するif’
LOAD(0) > Bに割り当てられた規則によっ
て許容される数 かつSLΔCK(B) <CRITICAL 5LAC
KTIIRESIIOLD + MARGINである場
合、if 5LACK(B) <CRITICAL 5
LACK Tl(RESIIOLDかつBが小さなブロ
ックである場合、 then LOAD(0)が許容レベルまで減少するように、Oの
十分なファンアウトをそこ に移すことが可能なブロックBの十分 なコピーを作成する elseそうでない場合、 LOAD (0)が許容レベルまで減少されるように、
0の十分なファンアウトを そこに移すことが可能なOからファ ンアウトするバッファ・ブロックを 作成する if終了 変更されたタイミング・データを再計算する if終了 for終了 for終了 GTAFO終了 手順GTAFOBAL /*等価な出力間のファンアウト負荷をそれらのたるみ
が最大になるように均衡させる:/for等しい出力の
各セットSについて実行するTOP OF LOOP: 0:=Sにおける最もクリティカルな出力if Oがク
リティカルである場合、thenOLD 5LACK
O: −5LACK(0)F:=0の最もクリティカル
なファンアウトforセットSの各出力0°について実
行する if O’=Oの場合、then FをOのファンアウトからOoのファ ンアウトに移す 変更されたタイミング・データを再計 算する if 5LACK(0’) >OLD 5LACK O
の場合、then TOP OF LOOP に戻る if終了 0′のファンアウトからOのファンア ウトにFを再び移す 変更されたタイミング・データを再計 算する if 終了 for 終了 forセットSの各出力O“について実行する if O°=0の場合、then for出力O“の各ファンアウトF°について実行する Fを0のファンアウトからOoのファ ンアウトに移す F yを0′のファンアウトから0の ファンアウトに移す 変更されたタイミング・データを再 計算する if 5LACK(0’) >OLD 5LACK O
かつ5LACK(0) >OLD 5LACK Oの場
合、then TOP OF LOOPに戻る if終了 FをO“のファンアウトからOのファ ンアウトに再び移す FをOのファンアウトから01のファ ンアウトに再び移す 変更されたタイミング・データを再 計算する for終了 if終了 for終了 if終了 for終了 GTAFOBAL終了 手順GTAPROMO(MARGIN、 XORMAR
GIN、 PASSES)/:クリティカル入力をファ
ンアウト・ブロックに格上げする:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B)<CRITICAL 5LAC
K TIIRESIIOLDかつBがAND、 ORま
たハXORブロックである場合、then for Bの出力のすべてのファンアウト・ブロックF
について実行する if ((BがAND ブロックであり)かつ(FがA
ND、 HAND、 AND−ORまたはへ〇〇−NO
Rブロック ではない)) または((BがORブロックであり) かつ(FがOR,NOR,0R−ANDまたは0R−H
ANDブロックで はない)) または((BがXORブロックであり)かつ(FがXO
RまたはNXORブ ロックではない))場合、 then NEXT BLOCKに進む if終了 汀Fに対するもう1つの入力をサポー トする規則がない場合、then NEXT BLOCK ニ進む if終了 forブロックFの各人力■について実行する if IのソースがBでなく かつ((BはANDまたはOR ブロックであり、 かつ5LACK(I) −MARGI)I<5LACK
(B) または(BがXORブロックで あり かつ5LACK(I) −XORMARGIN<5LA
CK(B)))の場合、 then NEXT BLOCKに進む if終了 for終了 for終了 ■:=Bに対する最もクリティカルな入力for Bの
出力のすべてのファンアウト・ブロックFについて実行
する 入力Iをファンアウト・ブロックFに 複写する ファンアウト・ブロックFに対する規 則を再割当てする for終了 ブロックBから入力Iを削除する if ブロックBが1つの入力しか持たない場合、th
en Bを論理から除去する elseそうでない場合、 ブロックBに対する規則を再割り当て する if終了 変更されたタイミング・データを再計算する if終了 NEXT BLOCK : for終了 繰返し終了 GTAPROMO終了 手順GTASIN (PASSES) /:クリティカル入力をクリティカルでない入力と交換
する:/ PASSES回繰り返す for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK THRESIIOLDかつBがAND、 ORま
たはXORブロックであり、 かつBがちょうど1つの出力Oを有し、かつOがちょう
ど1つのファンアウト・ブロックFを何し、 かつ5LACK(F) =SLACK(B)の場合、t
hen OLD 5LACに F = 5LACK(F)C
=Hに対する最もクリティカルな大力−’: = Fに
対する最もクリティカルな入力 if I’のソース・ブロック”二Bの場合、then 入力IをブロックBからブロックFに 移す 大カニ゛をブロックFからブロックB に移す 変更されたタイミング・データを再計 算する if 5LACに(F) <OLD 5LACK Fの
場合、then 入力IをブロックBからブロックB に再び移す 大力■゛をブロックFからブロック Fに再び移す 変更されたタイミング・データを再 計算する if終了 if終了 if終了 for終了 繰返し終了 GTASIH終了 手順 GTACELDN /*クリティカルでないブロックに対するサイズが最小
とする規則を選択するネ/ for各ブロックBについて実行する if 5LACK(B)≧CRITICAL 5LAC
K TIIRESHOLDの場合、then BEST RULE = Bの規則 BEST 5IZE B = Bの規則のサイズfor
ブロックBに割り当てることができる各規則Rについ
て実行する if Rの大きさくBEST 5IZE Bの場合、t
hen 規則RをブロックBに割り当てる 変更されたタイミング・データを再計 算する if 5LACK(B) >CRITICAL 5LA
CKTIIRESIIOLDの場合、thenBEST
RULE=R BEST 5IZE B=規則Rのサイズif終了 if終了 for終了 規則BEST RULEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTACELDN終了 手順 GTAREPWR(HIM I14PROVEMEH
T)/*クリティカル・ブロックに対する、たるみが最
大となる規則を選択するネ/ for各ブロックBについて実行する if 5LACK(B) <CRITICAL 5LA
CK TIIRESHOLDの場合、then BEST RULE= Bの規則 BEST 5LACK B=SLACK(B)for
ブロックBに割り当てることができる各規則Rについて
実行する 規則RをブロックBに割り当てる 変更されたタイミング・データを再計算する if 5LACK(B) >BEST 5LACK B
の場合、then BEST RULE = R BEST 5LACK B=SLΔCK(B)if終了 for終了 規則BEST RULEをブロックBに割り当てる 変更されたタイミング・データを再計算する if終了 for終了 GTAREPIJR終了
第1図は、本発明の好ましい実施例による論理合成方法
のフェーズIの概略的流れ図、第2、特許請求の範囲第
1項の論理合成方法のフェーズ■の概略的流れ図、 第3図は特許請求の範囲第1項の論理合成方法のフェー
ズ■の概略的流れ図、 第4図は、両方向ビンに関連するタイミング・データの
割振りを示すブロック・ダイヤグラム、第5図は、特許
請求の範囲第1項の好ましい実施例による局部的クリテ
ィカル・パス再計算を示すブロック・ダイヤグラム、 第6図は、好ましい実施例によるGTAPROHOlG
TAMINVT及びGTASINVT Xテップを示す
ブロック・ダイヤグラム、 第7図は、好ましい実施例によるGTAREDFO及び
GTAREDFI ステップを示すブロック・ダイヤグ
ラム、 第8図は、本実施例によるGTAFOステップを示すブ
ロック・ダイヤグラム、 第9図は、本発明によるGTASIH及びGTADUA
LRステップを示すブロック・ダイヤグラム、 第10図は、本発明によるGTACAHD ステップを
示すブロック・ダイヤグラムである。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーシジン
のフェーズIの概略的流れ図、第2、特許請求の範囲第
1項の論理合成方法のフェーズ■の概略的流れ図、 第3図は特許請求の範囲第1項の論理合成方法のフェー
ズ■の概略的流れ図、 第4図は、両方向ビンに関連するタイミング・データの
割振りを示すブロック・ダイヤグラム、第5図は、特許
請求の範囲第1項の好ましい実施例による局部的クリテ
ィカル・パス再計算を示すブロック・ダイヤグラム、 第6図は、好ましい実施例によるGTAPROHOlG
TAMINVT及びGTASINVT Xテップを示す
ブロック・ダイヤグラム、 第7図は、好ましい実施例によるGTAREDFO及び
GTAREDFI ステップを示すブロック・ダイヤグ
ラム、 第8図は、本実施例によるGTAFOステップを示すブ
ロック・ダイヤグラム、 第9図は、本発明によるGTASIH及びGTADUA
LRステップを示すブロック・ダイヤグラム、 第10図は、本発明によるGTACAHD ステップを
示すブロック・ダイヤグラムである。 出願人 インターナショナル・ビジネス・マシーンズ
・コーポレーシジン
Claims (2)
- (1)所定の技術で動作不可能な、技術独立なモデルに
おける論理ブロックを識別し、 上記所定の技術によりサポートされる装置を上記動作不
可能なブロックに最良適合方式で割り当てて、予備的モ
デルを提供し、 所定の最大負荷に制限されたファン・アウト負荷の値を
用いて、上記予備的モデルに関するタイミング値を計算
し、 上記予備的モデル中のクリティカル・パスにタイミング
訂正ルーチンを適用して、推定モデルを提供し、 上記推定モデル中の上記所定の技術の規則の違反を訂正
して、技術に適合したモデルを提供するステップを含む 論理回路合成方法。 - (2)所定の技術に関する規則を技術独立な論理モデル
に割り当てることにより論理回路を合成するための装置
であって、 上記所定の技術において動作不可能な上記モデル中の論
理ブロックを識別する手段と、 上記所定の技術によりサポートされる装置を上記動作不
可能な論理ブロックに最良適合方式で割り当てて予備的
モデルを提供する手段と、 所定の最大負荷に制限されたファン・アウト負荷の値を
用いて、上記予備的モデルに関するタイミング値を計算
する手段と、 上記予備的モデル中のクリティカル・パスにタイミング
訂正ルーチンを適用して、推定モデルを提供する手段と
、 上記推定モデル中の上記所定技術の規則の違反を訂正し
て、技術に適合したモデルを提供する手段とを有する 論理回路を合成するための装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/212,529 US5003487A (en) | 1988-06-28 | 1988-06-28 | Method and apparatus for performing timing correction transformations on a technology-independent logic model during logic synthesis |
| US212529 | 1988-06-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0219976A true JPH0219976A (ja) | 1990-01-23 |
Family
ID=22791398
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1124572A Pending JPH0219976A (ja) | 1988-06-28 | 1989-05-19 | 論理回路合成方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5003487A (ja) |
| EP (1) | EP0348681A3 (ja) |
| JP (1) | JPH0219976A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04101274A (ja) * | 1990-08-20 | 1992-04-02 | Matsushita Electric Ind Co Ltd | 論理設計処理装置およびタイミング調整方法 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5452231A (en) * | 1988-10-05 | 1995-09-19 | Quickturn Design Systems, Inc. | Hierarchically connected reconfigurable logic assembly |
| US5109353A (en) * | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
| US5329470A (en) * | 1988-12-02 | 1994-07-12 | Quickturn Systems, Inc. | Reconfigurable hardware emulation system |
| US5369593A (en) | 1989-05-31 | 1994-11-29 | Synopsys Inc. | System for and method of connecting a hardware modeling element to a hardware modeling system |
| US5353243A (en) | 1989-05-31 | 1994-10-04 | Synopsys Inc. | Hardware modeling system and method of use |
| JPH03116281A (ja) * | 1989-09-29 | 1991-05-17 | Toshiba Corp | 論理合成装置 |
| US5235521A (en) * | 1990-03-30 | 1993-08-10 | International Business Machines Corporation | Reducing clock skew in large-scale integrated circuits |
| US5287289A (en) * | 1990-04-13 | 1994-02-15 | Hitachi, Ltd. | Logic synthesis method |
| US5359537A (en) * | 1990-05-14 | 1994-10-25 | Vlsi Technology, Inc. | Automatic synthesis of integrated circuits employing controlled input dependency during a decomposition process |
| US5617325A (en) * | 1990-06-22 | 1997-04-01 | Vlsi Technology, Inc. | Method for estimating interconnect delays in integrated circuits |
| JP2516703B2 (ja) * | 1990-09-26 | 1996-07-24 | 株式会社日立製作所 | 論理自動生成方法および論理自動生成システム |
| US5282147A (en) * | 1991-08-02 | 1994-01-25 | International Business Machines Corporation | Method and apparatus for optimizing a logic network |
| US5475830A (en) * | 1992-01-31 | 1995-12-12 | Quickturn Design Systems, Inc. | Structure and method for providing a reconfigurable emulation circuit without hold time violations |
| US5491640A (en) * | 1992-05-01 | 1996-02-13 | Vlsi Technology, Inc. | Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication |
| US5355321A (en) * | 1992-06-12 | 1994-10-11 | Digital Equipment Corporation | Static timing verification |
| DE4227809A1 (de) * | 1992-08-21 | 1994-02-24 | Siemens Ag | Verfahren zur Erzeugung einer aus Schaltkreisen bestehenden Schaltung mit Hilfe eines Rechners |
| US5436849A (en) * | 1993-02-09 | 1995-07-25 | International Business Machines Corporation | Incremental logic synthesis system for efficient revision of logic circuit designs |
| US5396435A (en) * | 1993-02-10 | 1995-03-07 | Vlsi Technology, Inc. | Automated circuit design system and method for reducing critical path delay times |
| US5648913A (en) * | 1993-03-29 | 1997-07-15 | Xilinx, Inc. | Frequency driven layout system and method for field programmable gate arrays |
| US5508937A (en) * | 1993-04-16 | 1996-04-16 | International Business Machines Corporation | Incremental timing analysis |
| US5654898A (en) * | 1993-05-10 | 1997-08-05 | Cascade Design Automation Corporation | Timing-driven integrated circuit layout through device sizing |
| JP2601177B2 (ja) * | 1993-06-08 | 1997-04-16 | 日本電気株式会社 | 同期論理回路における最適クロック周期の決定方法 |
| JPH0778189A (ja) * | 1993-06-30 | 1995-03-20 | Nec Corp | Lsiの論理合成方式 |
| JPH07114580A (ja) * | 1993-10-18 | 1995-05-02 | Fujitsu Ltd | 論理装置の遅延時間解析システム |
| US5680583A (en) | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
| JP3182036B2 (ja) * | 1994-02-16 | 2001-07-03 | 松下電器産業株式会社 | 論理合成方法及び論理合成装置 |
| US5526276A (en) * | 1994-04-21 | 1996-06-11 | Quicklogic Corporation | Select set-based technology mapping method and apparatus |
| US5587919A (en) * | 1994-04-22 | 1996-12-24 | Lucent Technologies, Inc. | Apparatus and method for logic optimization by redundancy addition and removal |
| US5537330A (en) * | 1994-06-10 | 1996-07-16 | International Business Machines Corporation | Method for mapping in logic synthesis by logic classification |
| US5615127A (en) * | 1994-11-30 | 1997-03-25 | International Business Machines Corporation | Parallel execution of a complex task partitioned into a plurality of entities |
| US6272668B1 (en) | 1994-12-14 | 2001-08-07 | Hyundai Electronics America, Inc. | Method for cell swapping to improve pre-layout to post-layout timing |
| US5787011A (en) * | 1995-01-19 | 1998-07-28 | Texas Instruments Incorporated | Low-power design techniques for high-performance CMOS circuits |
| US6058252A (en) * | 1995-01-19 | 2000-05-02 | Synopsys, Inc. | System and method for generating effective layout constraints for a circuit design or the like |
| US5535145A (en) * | 1995-02-03 | 1996-07-09 | International Business Machines Corporation | Delay model abstraction |
| US5619418A (en) * | 1995-02-16 | 1997-04-08 | Motorola, Inc. | Logic gate size optimization process for an integrated circuit whereby circuit speed is improved while circuit area is optimized |
| US5638290A (en) * | 1995-04-06 | 1997-06-10 | Vlsi Technology, Inc. | Method for eliminating a false critical path in a logic circuit |
| US5754824A (en) * | 1995-05-10 | 1998-05-19 | International Business Machines Corporation | Logic synthesis for logic array modules |
| US5764954A (en) * | 1995-08-23 | 1998-06-09 | International Business Machines Corporation | Method and system for optimizing a critical path in a field programmable gate array configuration |
| JP2856121B2 (ja) * | 1995-09-29 | 1999-02-10 | 日本電気株式会社 | 回路遅延最適化方法及びその装置 |
| US5841672A (en) * | 1996-02-13 | 1998-11-24 | Vlsi Technology, Inc. | Method and apparatus for verifying signal timing of electrical circuits |
| US5841967A (en) * | 1996-10-17 | 1998-11-24 | Quickturn Design Systems, Inc. | Method and apparatus for design verification using emulation and simulation |
| US6389379B1 (en) | 1997-05-02 | 2002-05-14 | Axis Systems, Inc. | Converification system and method |
| US6134516A (en) * | 1997-05-02 | 2000-10-17 | Axis Systems, Inc. | Simulation server system and method |
| US6421251B1 (en) | 1997-05-02 | 2002-07-16 | Axis Systems Inc | Array board interconnect system and method |
| US6026230A (en) * | 1997-05-02 | 2000-02-15 | Axis Systems, Inc. | Memory simulation system and method |
| US6321366B1 (en) | 1997-05-02 | 2001-11-20 | Axis Systems, Inc. | Timing-insensitive glitch-free logic system and method |
| US6009256A (en) * | 1997-05-02 | 1999-12-28 | Axis Systems, Inc. | Simulation/emulation system and method |
| US5960191A (en) | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
| US5970240A (en) | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
| US6202192B1 (en) * | 1998-01-09 | 2001-03-13 | International Business Machines Corporation | Distributed static timing analysis |
| US6360188B1 (en) | 1998-10-27 | 2002-03-19 | Brixx Limited | Time-based modeling |
| US6282695B1 (en) | 1998-12-16 | 2001-08-28 | International Business Machines Corporation | System and method for restructuring of logic circuitry |
| US6460166B1 (en) | 1998-12-16 | 2002-10-01 | International Business Machines Corporation | System and method for restructuring of logic circuitry |
| US6425110B1 (en) * | 1998-12-17 | 2002-07-23 | International Business Machines Corporation | Incremental design tuning and decision mediator |
| US6269468B1 (en) * | 1999-03-02 | 2001-07-31 | International Business Machines Corporation | Split I/O circuit for performance optimization of digital circuits |
| US6412096B1 (en) | 1999-04-30 | 2002-06-25 | International Business Machines Corporation | Method and apparatus for a hedge analysis technique for performance improvements of large scale integrated circuit logic design |
| US6543030B1 (en) * | 1999-05-07 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Computer-implemented conversion of combination-logic module for improving timing characteristics of incorporating integrated circuit design |
| US6339835B1 (en) | 1999-06-10 | 2002-01-15 | International Business Machines Corporation | Pseudo-anding in dynamic logic circuits |
| JP2001357090A (ja) * | 2000-06-13 | 2001-12-26 | Hitachi Ltd | 論理合成方法及び論理合成装置 |
| US6763506B1 (en) * | 2000-07-11 | 2004-07-13 | Altera Corporation | Method of optimizing the design of electronic systems having multiple timing constraints |
| US6877146B1 (en) | 2001-06-03 | 2005-04-05 | Cadence Design Systems, Inc. | Method and apparatus for routing a set of nets |
| US6990650B2 (en) | 2002-01-31 | 2006-01-24 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6857117B2 (en) * | 2002-01-31 | 2005-02-15 | Cadence Design Systems, Inc. | Method and apparatus for producing a circuit description of a design |
| US6848086B2 (en) * | 2002-01-31 | 2005-01-25 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6854097B2 (en) * | 2002-01-31 | 2005-02-08 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US6854098B2 (en) * | 2002-01-31 | 2005-02-08 | Cadence Design Systems, Inc. | Method and apparatus for performing technology mapping |
| US7076760B2 (en) | 2002-01-31 | 2006-07-11 | Cadence Design Systems, Inc. | Method and apparatus for specifying encoded sub-networks |
| US20030217026A1 (en) * | 2002-01-31 | 2003-11-20 | Steven Teig | Structure for storing a plurality os sub-networks |
| US7024639B2 (en) * | 2002-01-31 | 2006-04-04 | Cadence Design Systems, Inc. | Method and apparatus for specifying encoded sub-networks |
| US7383524B2 (en) * | 2002-01-31 | 2008-06-03 | Cadence Design Systems, Inc | Structure for storing a plurality of sub-networks |
| US7464353B2 (en) * | 2005-12-02 | 2008-12-09 | Seiko Epson Corporation | Method and apparatus for generating technology independent delays |
| US7673259B2 (en) * | 2005-12-30 | 2010-03-02 | Cadence Design Systems, Inc. | System and method for synthesis reuse |
| US8255860B1 (en) * | 2009-04-03 | 2012-08-28 | Altera Corporation | Exploiting independent portions of logic designs for timing optimization |
| US8533512B2 (en) * | 2011-02-10 | 2013-09-10 | International Business Machines Corporation | Dynamic power and performance calibration of data processing systems |
| US9576094B2 (en) * | 2014-08-20 | 2017-02-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Logic circuit and system and computer program product for logic synthesis |
| US12277437B2 (en) * | 2021-12-30 | 2025-04-15 | Atlantic Technical Organization | System and method of path execution optimization |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4263651A (en) * | 1979-05-21 | 1981-04-21 | International Business Machines Corporation | Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks |
| 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 |
| US4612618A (en) * | 1983-06-10 | 1986-09-16 | Rca Corporation | Hierarchical, computerized design of integrated circuits |
| NL8303536A (nl) * | 1983-10-14 | 1985-05-01 | Philips Nv | Geintegreerde schakeling op grote schaal welke verdeeld is in isochrone gebieden, werkwijze voor het machinaal ontwerpen van zo een geintegreerde schakeling, en werkwijze voor het machinaal testen van zo een geintegreerde schakeling. |
| US4703435A (en) * | 1984-07-16 | 1987-10-27 | International Business Machines Corporation | Logic Synthesizer |
| US4697241A (en) * | 1985-03-01 | 1987-09-29 | Simulog, Inc. | Hardware logic simulator |
| US4698760A (en) * | 1985-06-06 | 1987-10-06 | International Business Machines | Method of optimizing signal timing delays and power consumption in LSI circuits |
| US4827428A (en) * | 1985-11-15 | 1989-05-02 | American Telephone And Telegraph Company, At&T Bell Laboratories | Transistor sizing system for integrated circuits |
| AU7728387A (en) * | 1986-09-12 | 1988-03-17 | Digital Equipment Corporation | Cad of logic circuits: incorporating timimg parameters |
-
1988
- 1988-06-28 US US07/212,529 patent/US5003487A/en not_active Expired - Fee Related
-
1989
- 1989-05-19 JP JP1124572A patent/JPH0219976A/ja active Pending
- 1989-06-01 EP EP19890109906 patent/EP0348681A3/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04101274A (ja) * | 1990-08-20 | 1992-04-02 | Matsushita Electric Ind Co Ltd | 論理設計処理装置およびタイミング調整方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0348681A2 (en) | 1990-01-03 |
| EP0348681A3 (en) | 1991-05-02 |
| US5003487A (en) | 1991-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0219976A (ja) | 論理回路合成方法 | |
| US7219048B1 (en) | Methodology and applications of timing-driven logic resynthesis for VLSI circuits | |
| US4916627A (en) | Logic path length reduction using boolean minimization | |
| US5715184A (en) | Method of parallel simulation of standard cells on a distributed computer system | |
| JP2609799B2 (ja) | 順序回路の再設計方法 | |
| US5490268A (en) | Method for changing an arrangement of an initial combinational circuit to satisfy prescribed delay time by computing permissible functions of output gates and remaining gates | |
| US5282147A (en) | Method and apparatus for optimizing a logic network | |
| Maheshwari et al. | Efficient retiming of large circuits | |
| US6920625B2 (en) | Method and apparatus for optimum transparent latch placement in a macro design | |
| JP3172211B2 (ja) | 回路合成システム | |
| JPH06348778A (ja) | 同期論理回路の設計方法 | |
| US5663888A (en) | Redesign of sequential circuits to reduce clock period | |
| JP2001229217A (ja) | 高位合成方法およびその実施に使用される記録媒体 | |
| JP4673203B2 (ja) | レイアウトドリブンの領域の制約された設計の最適化を行う論理プログラム、方法及びシステム | |
| JP2001084287A (ja) | ゲーテッドクロック回路、ゲーテッドクロック回路設計支援装置及び方法 | |
| US6810515B2 (en) | Process of restructuring logics in ICs for setup and hold time optimization | |
| JPH0778189A (ja) | Lsiの論理合成方式 | |
| CN116187243A (zh) | 一种基于逻辑门分解的fpga工艺映射算法 | |
| Matsuo et al. | A synthesis method for power-efficient integrated optical logic circuits towards light speed processing | |
| US6321362B1 (en) | Method of reformulating static circuit optimization problems for reduced size, degeneracy and redundancy | |
| Miyasaka et al. | A simple BDD package without variable reordering and its application to logic optimization with permissible functions | |
| US5877965A (en) | Parallel hierarchical timing correction | |
| Chen et al. | Simultaneous gate sizing and fanout optimization | |
| Chen et al. | Timing optimization of logic network using gate duplication | |
| JP3004589B2 (ja) | パストランジスタ論理設計方法 |