JPH0760445B2 - 論理回路網の構成を最適化する方法 - Google Patents
論理回路網の構成を最適化する方法Info
- Publication number
- JPH0760445B2 JPH0760445B2 JP4122103A JP12210392A JPH0760445B2 JP H0760445 B2 JPH0760445 B2 JP H0760445B2 JP 4122103 A JP4122103 A JP 4122103A JP 12210392 A JP12210392 A JP 12210392A JP H0760445 B2 JPH0760445 B2 JP H0760445B2
- Authority
- JP
- Japan
- Prior art keywords
- logic
- block
- term
- node
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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
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)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、論理回路網に関し、特
に冗長性を除去することにより組合わせ論理のハードウ
エア構成を単純化する有効な方法に関する。
に冗長性を除去することにより組合わせ論理のハードウ
エア構成を単純化する有効な方法に関する。
【0002】
【従来の技術】論理回路網は、データについてブール論
理関数を実施するための基本論理ブロックを含む。論理
ブロックは、これらブロックが個々に実施するブール論
理関数により共通に識別される。論理ブロックは、単純
な論理ゲート、例えば当技術において周知である幾つか
を挙げれば、「AND」、「OR」、「NAND」およ
び「NOR」論理ゲートの形態を取り得る。論理ブロッ
クは「組合わせ」論理でもよく、この場合簡単な論理ゲ
ートが電気的に直列および(または)並列にカスケード
接続されて、論理入力についてブール論理関数を総合的
に実施して論理出力を生じる。組合わせ論理において
は、全体論理関数が個々の論理ゲートにより行われる個
々の論理関数により決定される。
理関数を実施するための基本論理ブロックを含む。論理
ブロックは、これらブロックが個々に実施するブール論
理関数により共通に識別される。論理ブロックは、単純
な論理ゲート、例えば当技術において周知である幾つか
を挙げれば、「AND」、「OR」、「NAND」およ
び「NOR」論理ゲートの形態を取り得る。論理ブロッ
クは「組合わせ」論理でもよく、この場合簡単な論理ゲ
ートが電気的に直列および(または)並列にカスケード
接続されて、論理入力についてブール論理関数を総合的
に実施して論理出力を生じる。組合わせ論理において
は、全体論理関数が個々の論理ゲートにより行われる個
々の論理関数により決定される。
【0003】現在では、論理回路が設計される時、論理
設計者は最初に論理回路網の必須の全体的機能に焦点を
絞る。設計者は、全論理回路網に対する入出力が何であ
るかを知っている。更に、設計者は、入力論理状態の種
々の組合わせの全てに基いて出力論理状態が何であるべ
きかを知っている。前記の設計パラメータから、設計者
は所要の機能を提供するため使用可能な論理回路網を基
本的論理ブロックを用いて得る。結果として得られる論
理回路網は、多くの連続的な論理レベルを有する。
設計者は最初に論理回路網の必須の全体的機能に焦点を
絞る。設計者は、全論理回路網に対する入出力が何であ
るかを知っている。更に、設計者は、入力論理状態の種
々の組合わせの全てに基いて出力論理状態が何であるべ
きかを知っている。前記の設計パラメータから、設計者
は所要の機能を提供するため使用可能な論理回路網を基
本的論理ブロックを用いて得る。結果として得られる論
理回路網は、多くの連続的な論理レベルを有する。
【0004】論理回路の設計の次の段階において、論理
回路網は通常、1つ以上の複数の公知の最小化アルゴリ
ズムを用いてコンピュータ・プログラム(コンピュータ
自動化設計:CAD)の助けにより最適化(と共に、
「最小化」)される。論理的最適化は、回路の信頼性を
強化し、論理回路網の全体速度を増加し、回路数を減少
する故に望ましい。
回路網は通常、1つ以上の複数の公知の最小化アルゴリ
ズムを用いてコンピュータ・プログラム(コンピュータ
自動化設計:CAD)の助けにより最適化(と共に、
「最小化」)される。論理的最適化は、回路の信頼性を
強化し、論理回路網の全体速度を増加し、回路数を減少
する故に望ましい。
【0005】当技術において困難でありかつ時間を費や
すものであった論理的最適化の1つの形態は、冗長論理
の同定と排除である。冗長論理は、「試験不能な」論理
あるいは実際に「論理的に冗長な論理」の形態を取り得
る。試験不能な論理は、論理回路網の機能的結果に影響
を及ぼさない論理を指す。換言すれば、例えその論理が
故障しても、論理回路網の全体機能に悪影響を及ぼさ
ず、また実際に如何なる条件下でも気付かないものであ
る。論理的に冗長な論理は、必要な論理的機能が一回以
上行われるがテスト可能であることを意味する。
すものであった論理的最適化の1つの形態は、冗長論理
の同定と排除である。冗長論理は、「試験不能な」論理
あるいは実際に「論理的に冗長な論理」の形態を取り得
る。試験不能な論理は、論理回路網の機能的結果に影響
を及ぼさない論理を指す。換言すれば、例えその論理が
故障しても、論理回路網の全体機能に悪影響を及ぼさ
ず、また実際に如何なる条件下でも気付かないものであ
る。論理的に冗長な論理は、必要な論理的機能が一回以
上行われるがテスト可能であることを意味する。
【0006】このため、冗長な論理関数動作をするもの
として同定される論理ブロックは、論理回路網の最適化
のため排除される。冗長性排除の3つの主な形態が当業
界において周知である。即ち、ブール論理代数演算法を
用いる局部的、大域的および2レベルの最適化である。
局部的最適化は、コンパイラにおけるいわゆる「覗き
穴」最適化法に類似する。局部的最適化においては、論
理の小さな領域が全て調べられるまで論理の小さな領域
において特定のパターンが探される。対照的に、大域的
最適化は、論理の大きな領域に対して焦点を合わせる。
2レベル最適化は以下に述べる。
として同定される論理ブロックは、論理回路網の最適化
のため排除される。冗長性排除の3つの主な形態が当業
界において周知である。即ち、ブール論理代数演算法を
用いる局部的、大域的および2レベルの最適化である。
局部的最適化は、コンパイラにおけるいわゆる「覗き
穴」最適化法に類似する。局部的最適化においては、論
理の小さな領域が全て調べられるまで論理の小さな領域
において特定のパターンが探される。対照的に、大域的
最適化は、論理の大きな領域に対して焦点を合わせる。
2レベル最適化は以下に述べる。
【0007】大きな多重レベル論理回路網の最適化のた
めには、多数のブール代数演算法が利用し得る。事例
は、R.K.Braytonの「Factoring
Logic Functions」(IBM Jour
nal of Research & Develop
ment、第31巻、第2号、1987年3月)、R.
K.Brayton、R.Rudell、A.S.Vi
ncentelliおよびA.R.Wang「MIS:
A Multiple−Level LogicOpt
imization System」(IEEE Tr
ans.onCAD、第7巻、第6号、1988年6
月)に記載されている。
めには、多数のブール代数演算法が利用し得る。事例
は、R.K.Braytonの「Factoring
Logic Functions」(IBM Jour
nal of Research & Develop
ment、第31巻、第2号、1987年3月)、R.
K.Brayton、R.Rudell、A.S.Vi
ncentelliおよびA.R.Wang「MIS:
A Multiple−Level LogicOpt
imization System」(IEEE Tr
ans.onCAD、第7巻、第6号、1988年6
月)に記載されている。
【0008】一般に、論理分析を行う時、多重レベル論
理回路網は、一次論理入力および出力間の論理ブロック
の2つの連続的なレベルに構成し直される。大半の論理
回路網あるいは少なくともその一部は、先に述べた従来
の手法により2つの論理レベルによりモデル化すること
ができる。
理回路網は、一次論理入力および出力間の論理ブロック
の2つの連続的なレベルに構成し直される。大半の論理
回路網あるいは少なくともその一部は、先に述べた従来
の手法により2つの論理レベルによりモデル化すること
ができる。
【0009】ブール代数最小化法の過程では、各論理出
力のブール式は、論理ブロックの2レベルの構成が各出
力に対して具現されるまで操作され、ここにおいて各出
力は「積の和」または「和の積」のいずれか一方により
定義される。「積の和」は本質的に、第1のレベルがA
ND論理ブロックだけを含み第2のレベルがOR論理ブ
ロックからなる論理的構成である。対照的に、「和の
積」は本質的に、第1のレベルがOR論理ブロックだけ
を含み第2のレベルがAND論理ブロックからなる論理
的構成である。
力のブール式は、論理ブロックの2レベルの構成が各出
力に対して具現されるまで操作され、ここにおいて各出
力は「積の和」または「和の積」のいずれか一方により
定義される。「積の和」は本質的に、第1のレベルがA
ND論理ブロックだけを含み第2のレベルがOR論理ブ
ロックからなる論理的構成である。対照的に、「和の
積」は本質的に、第1のレベルがOR論理ブロックだけ
を含み第2のレベルがAND論理ブロックからなる論理
的構成である。
【0010】従来のブール分析によって、2レベルの構
成が共通の論理的項について分析される。冗長な論理的
項は各レベルで排除される。論理ブロックもまたしばし
ば排除され得る。一般に、論理回路網が2つのレベルで
構成される時、多くの入力を持つ巨大な論理ブロック
(例えば、ORまたはAND論理ブロック)が得られ
る。
成が共通の論理的項について分析される。冗長な論理的
項は各レベルで排除される。論理ブロックもまたしばし
ば排除され得る。一般に、論理回路網が2つのレベルで
構成される時、多くの入力を持つ巨大な論理ブロック
(例えば、ORまたはAND論理ブロック)が得られ
る。
【0011】集積回路(IC)の製造のレイアウト段階
では、時間および空間的要件の故に、論理ブロックはよ
り小さな論理ブロックに展開される必要がある。展開
は、ICにおける論理ブロックの物理的配置およびその
相互接続を行うため要求される。展開が行われると、冗
長性が通常再び持込まれる。ブール代数および代数的因
数分解を用いる最適化は、ICチップ上の論理が必要と
され配置される場所に対して局部的に能率化された論理
を生成するように展開が開始する際に行われる。
では、時間および空間的要件の故に、論理ブロックはよ
り小さな論理ブロックに展開される必要がある。展開
は、ICにおける論理ブロックの物理的配置およびその
相互接続を行うため要求される。展開が行われると、冗
長性が通常再び持込まれる。ブール代数および代数的因
数分解を用いる最適化は、ICチップ上の論理が必要と
され配置される場所に対して局部的に能率化された論理
を生成するように展開が開始する際に行われる。
【0012】
【発明が解決しようとする課題】ある論理回路網あるい
はその少なくとも一部は2レベルの論理に変換できない
ことに注意すべきである。この形式の論理の事例は、フ
ィードバック・ループを含むものである。このような回
路網においては、回路網のブール分析が可能なだけ行わ
れる。従って、回路網の完全かつ徹底した最小化は行わ
れ得ない。
はその少なくとも一部は2レベルの論理に変換できない
ことに注意すべきである。この形式の論理の事例は、フ
ィードバック・ループを含むものである。このような回
路網においては、回路網のブール分析が可能なだけ行わ
れる。従って、回路網の完全かつ徹底した最小化は行わ
れ得ない。
【0013】最後に、論理回路網が、最小化法から得た
論理回路網の洗練されたバージョンに基いてIC上のハ
ードウエアで実現される。論理回路網は、設計者が描く
ものと同じ機能を持つが、簡素化プロセスの結果として
異なる論理ブロック構成を有することになる。
論理回路網の洗練されたバージョンに基いてIC上のハ
ードウエアで実現される。論理回路網は、設計者が描く
ものと同じ機能を持つが、簡素化プロセスの結果として
異なる論理ブロック構成を有することになる。
【0014】ICにおける実現の後、ICの保全性およ
び製造プロセスをテストするためテスト生成プロセスが
論理回路網について行われる。テスト生成のための「D
−アルゴリズム」(欠陥アルゴリズムの短絡形)は当技
術において周知である。当技術にはD−アルゴリズムの
多数のバージョンが存在する。D−アルゴリズムについ
ては、J.P.Rothの「Minimization
by the DAlogorithm」(IEEE
Transactions on Computer
s、第C−35巻、第5部、476〜478頁、198
6年5月)に記載されている。
び製造プロセスをテストするためテスト生成プロセスが
論理回路網について行われる。テスト生成のための「D
−アルゴリズム」(欠陥アルゴリズムの短絡形)は当技
術において周知である。当技術にはD−アルゴリズムの
多数のバージョンが存在する。D−アルゴリズムについ
ては、J.P.Rothの「Minimization
by the DAlogorithm」(IEEE
Transactions on Computer
s、第C−35巻、第5部、476〜478頁、198
6年5月)に記載されている。
【0015】D−アルゴリズムを用いるテスト生成プロ
セスは次の如くである。入力の組合わせと入力状態の組
合わせが生成され、論理回路網に送られる。次いで、出
力における結果が観察され分析される。回路網の予期さ
れる応答は知られており、実験結果と比較される。
セスは次の如くである。入力の組合わせと入力状態の組
合わせが生成され、論理回路網に送られる。次いで、出
力における結果が観察され分析される。回路網の予期さ
れる応答は知られており、実験結果と比較される。
【0016】実質的に、D−アルゴリズムの実現過程に
おいて、製造における欠陥または障害が識別される。障
害は、当技術において周知である「立ち往生(stuc
kat)」問題(「障害停滞(stuck at fa
ults)」)を生じ得る。一般に、この「停滞」概念
は、不適当な製造により不適当な論理状態があるノード
に存在する時の状態を指す。一例として、論理回路網に
おけるAND論理ブロックが、常に欠陥により論理的ロ
ーの状態に維持される、即ち「停滞する」入力を有する
時、出力は停滞入力の制御の故に常に論理的ローとなる
ことを考えよう。その結果、ICは欠陥を有し、廃棄し
なければならない。
おいて、製造における欠陥または障害が識別される。障
害は、当技術において周知である「立ち往生(stuc
kat)」問題(「障害停滞(stuck at fa
ults)」)を生じ得る。一般に、この「停滞」概念
は、不適当な製造により不適当な論理状態があるノード
に存在する時の状態を指す。一例として、論理回路網に
おけるAND論理ブロックが、常に欠陥により論理的ロ
ーの状態に維持される、即ち「停滞する」入力を有する
時、出力は停滞入力の制御の故に常に論理的ローとなる
ことを考えよう。その結果、ICは欠陥を有し、廃棄し
なければならない。
【0017】しかし、上記のテスト生成に対する試みは
煩わしい。D−アルゴリズムの実行は、論理回路網が多
くのレベルの論理ブロックを有する時、不当に多くの時
間、しばしば数時間あるいは数日を要する。典型的な論
理回路網は、例えば、15乃至20レベルの論理を持ち
得る。このため、一義的な入力数および障害点からの観
察可能点数は異常に多くなる。結果として、論理経路の
テストは不当な時間を費やす。
煩わしい。D−アルゴリズムの実行は、論理回路網が多
くのレベルの論理ブロックを有する時、不当に多くの時
間、しばしば数時間あるいは数日を要する。典型的な論
理回路網は、例えば、15乃至20レベルの論理を持ち
得る。このため、一義的な入力数および障害点からの観
察可能点数は異常に多くなる。結果として、論理経路の
テストは不当な時間を費やす。
【0018】更にまた、冗長性を識別して排除するテス
ト生成を用いることは更に望ましくない。問題となる論
理が冗長性の排除により修正される都度、論理における
全ての障害に対してテスト生成プロセスを再び最初から
始めねばならない。
ト生成を用いることは更に望ましくない。問題となる論
理が冗長性の排除により修正される都度、論理における
全ての障害に対してテスト生成プロセスを再び最初から
始めねばならない。
【0019】
【課題を解決するための手段】本発明は、信号の再収束
により生じる信号経路における冗長性を排除することに
より、論理回路網の最終的な構成を最適化する。これ
は、論理設計の最適化のための古典的な手法の領域を著
しく拡張する。本発明は、論理回路網の最適化のためブ
ール代数分析と関連して修正D−アルゴリズム分析を用
いる。この修正D−アルゴリズムは、全体的な論理的記
述内で小さな論理ブロックをテストして分離するため用
いられる。更に、ブール代数法を用いて、論理を簡素化
するため必要に応じて最終的に削除が可能な冗長性およ
び冗長項を識別する。
により生じる信号経路における冗長性を排除することに
より、論理回路網の最終的な構成を最適化する。これ
は、論理設計の最適化のための古典的な手法の領域を著
しく拡張する。本発明は、論理回路網の最適化のためブ
ール代数分析と関連して修正D−アルゴリズム分析を用
いる。この修正D−アルゴリズムは、全体的な論理的記
述内で小さな論理ブロックをテストして分離するため用
いられる。更に、ブール代数法を用いて、論理を簡素化
するため必要に応じて最終的に削除が可能な冗長性およ
び冗長項を識別する。
【0020】本発明によれば、ブール和および積のノー
ドが、論理回路網のデータベース・モデルにおいて識別
される。次に、この和および積のノードの各々における
各再収束信号毎に、冗長性が存在するかどうかを決定す
る。冗長性が存在するならば、1つ以上の冗長項が識別
される。最後に、必要に応じて冗長項がこのモデルから
排除される。
ドが、論理回路網のデータベース・モデルにおいて識別
される。次に、この和および積のノードの各々における
各再収束信号毎に、冗長性が存在するかどうかを決定す
る。冗長性が存在するならば、1つ以上の冗長項が識別
される。最後に、必要に応じて冗長項がこのモデルから
排除される。
【0021】本発明は、先に述べたような、従来技術の
欠点を克服し、更に下記の別の利点をもたらす。
欠点を克服し、更に下記の別の利点をもたらす。
【0022】本発明の方法は、OR、NOR、OAおよ
びOR−AND−I論理ブロックを含む和のノード(S
N)と、AND、NAND、AND−ORおよびAND
−OR−I論理ブロックを含む積のノード(PN)の双
方において信号を再収束することにより生じる冗長性を
排除する。最初に、1つのコーンにおける1つの項が他
のコーンにおける1つの項のサブセットであることを確
証するため、修正D−アルゴリズムが論理ブロックの1
対のコーンに対して用いられる。次に、ブール代数分析
を用いて、必要に応じて、冗長性を排除するためコーン
において削除されねばならない正確な項を検出する。
びOR−AND−I論理ブロックを含む和のノード(S
N)と、AND、NAND、AND−ORおよびAND
−OR−I論理ブロックを含む積のノード(PN)の双
方において信号を再収束することにより生じる冗長性を
排除する。最初に、1つのコーンにおける1つの項が他
のコーンにおける1つの項のサブセットであることを確
証するため、修正D−アルゴリズムが論理ブロックの1
対のコーンに対して用いられる。次に、ブール代数分析
を用いて、必要に応じて、冗長性を排除するためコーン
において削除されねばならない正確な項を検出する。
【0023】現在存在する論理最適化法と比較して、本
発明は、論理の簡素化のために必要な時間を著しく短縮
する。本発明のアルゴリズムが問題となる小さなコーン
に分析を限定するため、従来の方法における如く拡張ブ
ール式を格納する必要がない。一般に、本方法は、同等
な機能を行うように構成されるならば、純粋に代数的試
みあるいは純粋にD−アルゴリズムに基く試みよりも遥
かに早い。注目すべきは、論理回路網が更に複雑になり
多層化するに伴い、本発明が更に有効であることであ
る。
発明は、論理の簡素化のために必要な時間を著しく短縮
する。本発明のアルゴリズムが問題となる小さなコーン
に分析を限定するため、従来の方法における如く拡張ブ
ール式を格納する必要がない。一般に、本方法は、同等
な機能を行うように構成されるならば、純粋に代数的試
みあるいは純粋にD−アルゴリズムに基く試みよりも遥
かに早い。注目すべきは、論理回路網が更に複雑になり
多層化するに伴い、本発明が更に有効であることであ
る。
【0024】本発明においては、問題となる点即ちノー
ドが分離され、1つの論理回路網に集中される。問題と
なるノードは、従来の手法におけるように論理回路網の
出力にある必要がない。ノードは、全論理記述に対して
内部に置くことができる。
ドが分離され、1つの論理回路網に集中される。問題と
なるノードは、従来の手法におけるように論理回路網の
出力にある必要がない。ノードは、全論理記述に対して
内部に置くことができる。
【0025】本発明は、単一の入出力停滞障害の存在に
おけるテスト不能な状態を生じ得る論理回路網における
ノードのほとんど全ての論理的冗長性(未知のブロック
および直列論理の故に正確ではないが、略々100%)
を排除する。
おけるテスト不能な状態を生じ得る論理回路網における
ノードのほとんど全ての論理的冗長性(未知のブロック
および直列論理の故に正確ではないが、略々100%)
を排除する。
【0026】本発明は、与えられたモデルの如何に拘わ
らず冗長性の排除を行う。特に、冗長性の排除は、モデ
ルの概念レベルの如何に拘わらず、あるいはモデルが、
チップが論理機能の実現のため均一な領域に再分割され
るマスター・スライス技法における如き特定のハードウ
エア構成に依存するかどうかに拘わらずに実施が可能で
ある。マスター・スライス法では、最も簡単な機能を持
つことが望ましくないことがある。
らず冗長性の排除を行う。特に、冗長性の排除は、モデ
ルの概念レベルの如何に拘わらず、あるいはモデルが、
チップが論理機能の実現のため均一な領域に再分割され
るマスター・スライス技法における如き特定のハードウ
エア構成に依存するかどうかに拘わらずに実施が可能で
ある。マスター・スライス法では、最も簡単な機能を持
つことが望ましくないことがある。
【0027】本発明の結果として、有意な時間で更にテ
スト可能である論理回路を作ることができる。本発明の
方法は、幾つかの集積回路(IC)における論理関数を
単一のICに融合する優れた機構を提供する。
スト可能である論理回路を作ることができる。本発明の
方法は、幾つかの集積回路(IC)における論理関数を
単一のICに融合する優れた機構を提供する。
【0028】本発明の更に別の利点については、以降の
図面および詳細な記述を読めば当業者には明らかになる
であろう。別の利点は本文に包含されることを意図す
る。
図面および詳細な記述を読めば当業者には明らかになる
であろう。別の利点は本文に包含されることを意図す
る。
【0029】本発明の上記および他の目的、特徴および
利点については、添付図面に示される如き本発明の望ま
しい実施態様の以降の更に詳細な記述から明らかになる
であろう。
利点については、添付図面に示される如き本発明の望ま
しい実施態様の以降の更に詳細な記述から明らかになる
であろう。
【0030】本発明と見做される主題は、本文において
特に指摘され明瞭に請求される。しかし、本発明は、構
成および実施の方法の双方に関して、またその更に他の
目的および利点と共に、添付図面に関して以降の記述を
参照することによりよく理解されよう。
特に指摘され明瞭に請求される。しかし、本発明は、構
成および実施の方法の双方に関して、またその更に他の
目的および利点と共に、添付図面に関して以降の記述を
参照することによりよく理解されよう。
【0031】
【実施例】図1は、本発明に関する基本的概念を示して
いる。本発明によれば、論理回路網のコンピュータ・モ
デルは論理ブロックを全論理回路網内の「コーン」に統
合することにより分析される。一例として、図1は組合
わされる如何なる数の論理ブロックも包含し得るコーン
102(コーン1)およびコーン104(コーン2)を
示している。
いる。本発明によれば、論理回路網のコンピュータ・モ
デルは論理ブロックを全論理回路網内の「コーン」に統
合することにより分析される。一例として、図1は組合
わされる如何なる数の論理ブロックも包含し得るコーン
102(コーン1)およびコーン104(コーン2)を
示している。
【0032】コーンに対する入力は、「葉ノード」で始
まる「葉」と呼ばれる。葉は、1次入力、ラッチ出力、
レジスタ出力、メモリー出力、下部構造が判らないか理
解できない未知の論理ブロックからの出力、および以下
に詳細に述べる他のSNまたはPNからの出力であり得
る。1つのコーンと対応する上記の入力は、総合的に特
定のコーンの葉セットと呼ばれる。従って、図1に示さ
れるように、葉セット1は参照番号102で示されるコ
ーン1と対応し、葉セット2は参照番号104で示され
るコーン2と対応する。
まる「葉」と呼ばれる。葉は、1次入力、ラッチ出力、
レジスタ出力、メモリー出力、下部構造が判らないか理
解できない未知の論理ブロックからの出力、および以下
に詳細に述べる他のSNまたはPNからの出力であり得
る。1つのコーンと対応する上記の入力は、総合的に特
定のコーンの葉セットと呼ばれる。従って、図1に示さ
れるように、葉セット1は参照番号102で示されるコ
ーン1と対応し、葉セット2は参照番号104で示され
るコーン2と対応する。
【0033】コーン102、104は各々「ルート・ピ
ン」で終る。コーン102は、ルート・ピン112(P
1)で終り、コーン104はルート・ピン114(P
2)で終る。ルート・ピン112および114は、実質
的に後続段の論理に対する入力であり、これは例えば図
1にAND論理ブロック118として示される。コーン
102および104の各々の葉を構成する入力信号は、
各ルート・ピンに達する前に数段の組合わせ論理を通
る。
ン」で終る。コーン102は、ルート・ピン112(P
1)で終り、コーン104はルート・ピン114(P
2)で終る。ルート・ピン112および114は、実質
的に後続段の論理に対する入力であり、これは例えば図
1にAND論理ブロック118として示される。コーン
102および104の各々の葉を構成する入力信号は、
各ルート・ピンに達する前に数段の組合わせ論理を通
る。
【0034】ルート・ピン112、114は、論理回路
網内部の和のノード(SN)および積ノード(PN)を
識別することにより定義される。実質的に、SNは、そ
の論理関数を記述するブール式において行われる第1の
論理機能がORまたはNOR機能であるノードである。
対照的に、実施される第1の論理機能がANDであれ
ば、これは積のノードである。
網内部の和のノード(SN)および積ノード(PN)を
識別することにより定義される。実質的に、SNは、そ
の論理関数を記述するブール式において行われる第1の
論理機能がORまたはNOR機能であるノードである。
対照的に、実施される第1の論理機能がANDであれ
ば、これは積のノードである。
【0035】一例として、図1において、このノードの
論理信号を定義するブール式ではAND論理機能が論理
ブロック118により最初に実施されるため、ノード1
20は積のノードである。
論理信号を定義するブール式ではAND論理機能が論理
ブロック118により最初に実施されるため、ノード1
20は積のノードである。
【0036】潜在的な冗長性(テスト不能または論理的
に冗長)が存在するならば、ノード120に「収束」が
生じる。「収束」とは、ある論理項が、ノード120に
おける全論理信号を記述するブール式の幾つかの最小項
(サブターム)の形で存在することを意味する。収束ノ
ード120と関連する論理ブロック118は、「収束論
理ブロック」と呼ばれる。
に冗長)が存在するならば、ノード120に「収束」が
生じる。「収束」とは、ある論理項が、ノード120に
おける全論理信号を記述するブール式の幾つかの最小項
(サブターム)の形で存在することを意味する。収束ノ
ード120と関連する論理ブロック118は、「収束論
理ブロック」と呼ばれる。
【0037】収束が生起するならば、ルート・ピン11
2、114は、参照番号116により図1に示されるよ
うに、共通葉(入力)で各コーン102および104を
定義する。換言すれば、葉は2つ以上のコーンに「ファ
ンアウト」し、論理ブロック118で再び収束する。
2、114は、参照番号116により図1に示されるよ
うに、共通葉(入力)で各コーン102および104を
定義する。換言すれば、葉は2つ以上のコーンに「ファ
ンアウト」し、論理ブロック118で再び収束する。
【0038】本発明によって、識別された潜在的な冗長
性が更に分析され、必要に応じて、以下に詳細に述べる
ように排除される。あるテスト可能な冗長性は、マスタ
ー・スライス手法などにより許容される。しかし、テス
ト不能な冗長性は、見出されれば常に排除されねばなら
ない。
性が更に分析され、必要に応じて、以下に詳細に述べる
ように排除される。あるテスト可能な冗長性は、マスタ
ー・スライス手法などにより許容される。しかし、テス
ト不能な冗長性は、見出されれば常に排除されねばなら
ない。
【0039】図2は、本発明の方法を示す高レベルの流
れ図を示す。実際に、本発明は、1つのコーンにおける
ある項が他のコーンにおける1つの項のサブセットであ
ることを確証するため、修正D−アルゴリズムをSN/
PN論理ブロックの1対のコーンに適用する。次に、ブ
ール疑似代数分析を用いて、必要に応じて冗長性を排除
するためにコーン中で削除されるべき項を検出する。こ
のプロセスは、SNまたはPNの全ての共通葉に対して
反復され、全プロセスが全てのSNおよびPNに対して
反復される。
れ図を示す。実際に、本発明は、1つのコーンにおける
ある項が他のコーンにおける1つの項のサブセットであ
ることを確証するため、修正D−アルゴリズムをSN/
PN論理ブロックの1対のコーンに適用する。次に、ブ
ール疑似代数分析を用いて、必要に応じて冗長性を排除
するためにコーン中で削除されるべき項を検出する。こ
のプロセスは、SNまたはPNの全ての共通葉に対して
反復され、全プロセスが全てのSNおよびPNに対して
反復される。
【0040】流れ図のブロック202では、論理モデル
の記述が最初にリスト形態言語を介して入力され、デー
タ構造に格納される。この論理モデル記述は、論理ブロ
ックのリスト、各論理ブロック毎のピンのリスト、およ
び各ピン毎の結合即ち「ネット」のリストを含む。1つ
の論理ブロックとは、出力を得るため1組の入力につい
て1つの論理機能を行う、論理回路網における1つの領
域である。論理ブロックのリストは、100,000以
上のエントリを含み得る。論理ブロックに対する多数の
入出力が存在し得る。典型的には、1つの論理ブロック
は、同一相の解、その反転、またはその両方を含む1つ
または2つの出力を有する。
の記述が最初にリスト形態言語を介して入力され、デー
タ構造に格納される。この論理モデル記述は、論理ブロ
ックのリスト、各論理ブロック毎のピンのリスト、およ
び各ピン毎の結合即ち「ネット」のリストを含む。1つ
の論理ブロックとは、出力を得るため1組の入力につい
て1つの論理機能を行う、論理回路網における1つの領
域である。論理ブロックのリストは、100,000以
上のエントリを含み得る。論理ブロックに対する多数の
入出力が存在し得る。典型的には、1つの論理ブロック
は、同一相の解、その反転、またはその両方を含む1つ
または2つの出力を有する。
【0041】データ構造を処理する新しいアルゴリズム
を有するプログラムがデータ構造とは別のものであるた
め、データ構造を分析するためのプログラムが初期化さ
れる(流れ図のブロック204参照)。換言すれば、変
数、ループ・フラッグなどは、当技術において周知のよ
うに、開始値にセットされる。
を有するプログラムがデータ構造とは別のものであるた
め、データ構造を分析するためのプログラムが初期化さ
れる(流れ図のブロック204参照)。換言すれば、変
数、ループ・フラッグなどは、当技術において周知のよ
うに、開始値にセットされる。
【0042】次に、和のノード/積のノード(SN/P
N)のリストを生成するため、モデルはその全体が分析
される。実質的に、本発明の方法に対して特に問題とな
るSN/PNリストが生成される。このSN/PNリス
トは、潜在的な冗長性を持ち得る全てのSNおよびPN
のリストを有する。流れ図のブロック208に示される
ように、前記の分析は一回だけの事象である。更に、こ
れは連続する流れ図のブロック210、212、214
に示される。
N)のリストを生成するため、モデルはその全体が分析
される。実質的に、本発明の方法に対して特に問題とな
るSN/PNリストが生成される。このSN/PNリス
トは、潜在的な冗長性を持ち得る全てのSNおよびPN
のリストを有する。流れ図のブロック208に示される
ように、前記の分析は一回だけの事象である。更に、こ
れは連続する流れ図のブロック210、212、214
に示される。
【0043】流れ図のブロック210で、1つの論理ブ
ロックが論理モデルから選択される。更に、この論理ブ
ロックが流れ図のブロック212に示されるように、潜
在的なSNまたはPNと関連するかどうかが決定され
る。
ロックが論理モデルから選択される。更に、この論理ブ
ロックが流れ図のブロック212に示されるように、潜
在的なSNまたはPNと関連するかどうかが決定され
る。
【0044】この論理ブロックの機能は、ブロックがS
Nである(第1の機能がOR特性を呈する)か、あるい
はPNである(第1の機能がAND特性を呈する)かを
決定するために考察される。更に、この論理ブロック
は、図1に関して前に示し述べたように、2つ以上の場
所に対してファンアウトしなければリストに置かれな
い。ブロックがこれらの要件を満たすならば、葉ノード
がこの論理ブロックにおいてファンアウトし再び収束す
るかどうかを知るため、(全てのコーンを同時に追跡す
る有効経路を用いて)その入力ピンに送る論理が調べら
れる。SNまたはPNとして識別された論理ブロック
は、収束論理ブロックとしてフラッグ表示され、またそ
の識別がSN/PNリストに入れられる。
Nである(第1の機能がOR特性を呈する)か、あるい
はPNである(第1の機能がAND特性を呈する)かを
決定するために考察される。更に、この論理ブロック
は、図1に関して前に示し述べたように、2つ以上の場
所に対してファンアウトしなければリストに置かれな
い。ブロックがこれらの要件を満たすならば、葉ノード
がこの論理ブロックにおいてファンアウトし再び収束す
るかどうかを知るため、(全てのコーンを同時に追跡す
る有効経路を用いて)その入力ピンに送る論理が調べら
れる。SNまたはPNとして識別された論理ブロック
は、収束論理ブロックとしてフラッグ表示され、またそ
の識別がSN/PNリストに入れられる。
【0045】一旦SNまたはPN論理ブロックが識別さ
れると、1つの大域的論理ブロックとして幾つかの論理
ブロックを一緒にすることによりSN/PNリストを更
に潜在的に簡素化するように論理ブロックの出力の接続
が考察される。この手順は望ましいものであるが任意で
あり、流れ図のブロック214に示される。これを行う
際、以下に更に詳細に述べるように、ピンの対をサンプ
リングする時更に大きな再収束が考えられる。
れると、1つの大域的論理ブロックとして幾つかの論理
ブロックを一緒にすることによりSN/PNリストを更
に潜在的に簡素化するように論理ブロックの出力の接続
が考察される。この手順は望ましいものであるが任意で
あり、流れ図のブロック214に示される。これを行う
際、以下に更に詳細に述べるように、ピンの対をサンプ
リングする時更に大きな再収束が考えられる。
【0046】SN/PNリストが生成される方法の故
に、1つのピン対に対する共通の葉において唯1つの再
収束の場所が存在することが保証される。上記の保証
は、本発明のより簡単な構成を可能にする。
に、1つのピン対に対する共通の葉において唯1つの再
収束の場所が存在することが保証される。上記の保証
は、本発明のより簡単な構成を可能にする。
【0047】従って、全SN/PNリストが完成した
後、この新しいアルゴリズムにより考察されるための多
数の問題ノード(SNおよびPN)が生成される。更
に、各問題ノードで、論理機能がAND機能であるかあ
るいはOR機能であるとして理解されたが、和または積
のノードがこれらのブール関数に限定されないことを理
解すべきである。問題ノードのセットは、流れ図のブロ
ック204におけるモデルの記述に存在する論理ブロッ
ク数よりも明らかに小さい。
後、この新しいアルゴリズムにより考察されるための多
数の問題ノード(SNおよびPN)が生成される。更
に、各問題ノードで、論理機能がAND機能であるかあ
るいはOR機能であるとして理解されたが、和または積
のノードがこれらのブール関数に限定されないことを理
解すべきである。問題ノードのセットは、流れ図のブロ
ック204におけるモデルの記述に存在する論理ブロッ
ク数よりも明らかに小さい。
【0048】次に、流れ図のブロック216〜232に
おいて、論理回路網の最適化のためにSN/PNリスト
が本方法により操作される。流れ図のブロック216に
おいて、SN/PNリストにおけるSNおよびPNの全
てが考察されたかどうかについて判定がなされる。各S
NおよびPNの分析の完了と同時に、アルゴリズムは流
れ図の停止ブロック232で終了する。
おいて、論理回路網の最適化のためにSN/PNリスト
が本方法により操作される。流れ図のブロック216に
おいて、SN/PNリストにおけるSNおよびPNの全
てが考察されたかどうかについて判定がなされる。各S
NおよびPNの分析の完了と同時に、アルゴリズムは流
れ図の停止ブロック232で終了する。
【0049】SNまたはPNが分析のため依然としてリ
ストに残っている時、流れ図のブロック218に示され
るように、次のSN論理ブロックまたはPN論理ブロッ
クが分析のため検索される。
ストに残っている時、流れ図のブロック218に示され
るように、次のSN論理ブロックまたはPN論理ブロッ
クが分析のため検索される。
【0050】各論理ブロック毎に、一時に論理ブロック
の入力における1対のピンが考察され、これは1つの論
理ブロックと関連する全ての潜在的な対の組合わせが考
察されるまで行われる。例えば、収束論理ブロックが3
つの入力を持つならば、対は1および2、1および3、
および2および3となる。別の見方によれば、全てのコ
ーンの組合わせが考察されるまで、問題となる論理ブロ
ックで収束する2つのコーンが一時に分析される。
の入力における1対のピンが考察され、これは1つの論
理ブロックと関連する全ての潜在的な対の組合わせが考
察されるまで行われる。例えば、収束論理ブロックが3
つの入力を持つならば、対は1および2、1および3、
および2および3となる。別の見方によれば、全てのコ
ーンの組合わせが考察されるまで、問題となる論理ブロ
ックで収束する2つのコーンが一時に分析される。
【0051】全てのピン対が分析された後、本方法は流
れ図のブロック222に示されるように論理ブロックを
考察から外し、流れ図のブロック216へ戻り、ここで
SN/PNリストにおける残りの論理ブロックのエント
リが検索される。反対に、全てのピン対が考察されてい
なかったならば、流れ図のブロック224に示されるよ
うに、次のピン対が検索される。
れ図のブロック222に示されるように論理ブロックを
考察から外し、流れ図のブロック216へ戻り、ここで
SN/PNリストにおける残りの論理ブロックのエント
リが検索される。反対に、全てのピン対が考察されてい
なかったならば、流れ図のブロック224に示されるよ
うに、次のピン対が検索される。
【0052】一旦1つのピン対が選択されると、流れ図
のブロック226に示されるように、各ピンに対する葉
セットが識別され、この葉セットは、流れ図のブロック
228に示されるように、いずれかの葉が共通であるか
どうかを判定するため比較される。もし共通に葉が存在
しなければ、次のピン対(もしあれば)が図示の如く検
索される。
のブロック226に示されるように、各ピンに対する葉
セットが識別され、この葉セットは、流れ図のブロック
228に示されるように、いずれかの葉が共通であるか
どうかを判定するため比較される。もし共通に葉が存在
しなければ、次のピン対(もしあれば)が図示の如く検
索される。
【0053】2つ以上の共通の葉が存在すれば、再収束
が存在する。更に、再収束は潜在的な冗長性の存在を示
唆する。冗長性が存在するならば、SNおよびPNが生
成されたときの方法の結果により、唯1つの実際の冗長
項(RT)がこの共通葉に対するブール式に存在するこ
とになる。冗長項は、再収束信号を含む最大(最も大き
い)論理項である。最大論理項は段落60において定義
される。再収束信号を含む冗長項の簡単な例は次のブー
ル式で与えられる。 A(A+B)=A+AB=A(1+B)=A AがPNに再収束しており、ANDの手前のOR項、す
なわちA+Bは削除しても結果に変わりはない。 AB(C+D)(A+C)=(AB+ABC)(C+D) =AB(1+C)(C+D) =AB(C+D) PNの手前の再収束信号Aを含むOR項(A+C)は冗
長であり、削除できる。AA=Aであり、AとAの反転
とのANDは0であり、AとAの反転とのORは1であ
る。再収束信号Aは再収束点でAまたはAの反転と論理
的ANDまたはORされるがその正味の効果はAそれ自
体、0、または1であるから論理の初期の段階で再収束
信号を他の信号と論理的に操作することは冗長な操作で
ある。このような冗長性は以下に述べる法則により除去
することが出来る。
が存在する。更に、再収束は潜在的な冗長性の存在を示
唆する。冗長性が存在するならば、SNおよびPNが生
成されたときの方法の結果により、唯1つの実際の冗長
項(RT)がこの共通葉に対するブール式に存在するこ
とになる。冗長項は、再収束信号を含む最大(最も大き
い)論理項である。最大論理項は段落60において定義
される。再収束信号を含む冗長項の簡単な例は次のブー
ル式で与えられる。 A(A+B)=A+AB=A(1+B)=A AがPNに再収束しており、ANDの手前のOR項、す
なわちA+Bは削除しても結果に変わりはない。 AB(C+D)(A+C)=(AB+ABC)(C+D) =AB(1+C)(C+D) =AB(C+D) PNの手前の再収束信号Aを含むOR項(A+C)は冗
長であり、削除できる。AA=Aであり、AとAの反転
とのANDは0であり、AとAの反転とのORは1であ
る。再収束信号Aは再収束点でAまたはAの反転と論理
的ANDまたはORされるがその正味の効果はAそれ自
体、0、または1であるから論理の初期の段階で再収束
信号を他の信号と論理的に操作することは冗長な操作で
ある。このような冗長性は以下に述べる法則により除去
することが出来る。
【0054】ピン対の上記の分析は、非破壊ブール代数
分析と呼ぶことができる。この分析は、論理回路網のモ
デルとは別のデータ・テーブルにおいて生じるため、
「非破壊的」である。また、注目すべきは、従来のブー
ル代数手法におけるような論理回路網の2レベルの展開
が本発明では不要であることである。
分析と呼ぶことができる。この分析は、論理回路網のモ
デルとは別のデータ・テーブルにおいて生じるため、
「非破壊的」である。また、注目すべきは、従来のブー
ル代数手法におけるような論理回路網の2レベルの展開
が本発明では不要であることである。
【0055】ブロック230に示されるように、次に冗
長性が処理される。冗長性毎にブール分析が行われて冗
長項を決定する。処理中に、冗長性が排除されるべきか
どうかが判定される。ある状況では、コンパクトな論理
を許容するため、冗長性の排除が望ましくないことがあ
る。これは、本発明の任意の一特徴である。冗長性処理
の詳細な説明は図3に関して行う。
長性が処理される。冗長性毎にブール分析が行われて冗
長項を決定する。処理中に、冗長性が排除されるべきか
どうかが判定される。ある状況では、コンパクトな論理
を許容するため、冗長性の排除が望ましくないことがあ
る。これは、本発明の任意の一特徴である。冗長性処理
の詳細な説明は図3に関して行う。
【0056】冗長性が排除されるべき場合は、一般に、
重なるコーンの1つからピンが遮断される。更にまた、
冗長性の排除の結果どこにもつながらない論理ブロック
を生じるならば、これらの論理ブロックは論理回路網を
更に簡単にするため排除することができる。冗長性の排
除については、図8において詳細に論述する。
重なるコーンの1つからピンが遮断される。更にまた、
冗長性の排除の結果どこにもつながらない論理ブロック
を生じるならば、これらの論理ブロックは論理回路網を
更に簡単にするため排除することができる。冗長性の排
除については、図8において詳細に論述する。
【0057】図3は、冗長性の処理のための詳細な流れ
図300を示す。特に、冗長項はブール分析を用いて識
別される。
図300を示す。特に、冗長項はブール分析を用いて識
別される。
【0058】流れ図のブロック304において、各ピン
対の全ての共通葉が考察されることを保証するためカウ
ンタが構成される。全ての共通葉が処理されたならば、
流れ図300は流れ図の最終ブロック318へ進む。さ
もなければ、流れ図300は通常動作で流れ図のブロッ
ク306へ進む。
対の全ての共通葉が考察されることを保証するためカウ
ンタが構成される。全ての共通葉が処理されたならば、
流れ図300は流れ図の最終ブロック318へ進む。さ
もなければ、流れ図300は通常動作で流れ図のブロッ
ク306へ進む。
【0059】流れ図のブロック306において、信号が
各コーンの共通葉に注入される。この信号は、各コーン
を経て収束SN/PN論理ブロックにおける各ルート・
ピン(ピン対の一方のピン)へ進む。
各コーンの共通葉に注入される。この信号は、各コーン
を経て収束SN/PN論理ブロックにおける各ルート・
ピン(ピン対の一方のピン)へ進む。
【0060】ブール式の冗長項は、再収束信号を含む
「最大AND項」または「最大OR項」のいずれかであ
り得る。最大AND項は、(終了条件とも呼ばれる)第
1のOR演算に遭遇する前に所要の信号が参与するAN
D項として定義される。
「最大AND項」または「最大OR項」のいずれかであ
り得る。最大AND項は、(終了条件とも呼ばれる)第
1のOR演算に遭遇する前に所要の信号が参与するAN
D項として定義される。
【0061】例えば、任意のブール論理項即ち、(a・
b・c + p・q・r)・l・mを考察しよう。「a」
を含む最大AND項は、「a・b・c」が「l・m」と
共にAND操作される前に「p・q・r」と共にOR操
作されるため、「a・b・c」であって「a・b・c・
l・m」ではない。
b・c + p・q・r)・l・mを考察しよう。「a」
を含む最大AND項は、「a・b・c」が「l・m」と
共にAND操作される前に「p・q・r」と共にOR操
作されるため、「a・b・c」であって「a・b・c・
l・m」ではない。
【0062】対照的に、最大OR項は、(終了条件とも
呼ばれる)第1のAND演算と遭遇する前に所要の信号
が参与するOR項として定義される。
呼ばれる)第1のAND演算と遭遇する前に所要の信号
が参与するOR項として定義される。
【0063】例えば、任意のブール論理項即ち、(a+b
+c)・(q+r) + l・mを考察しよう。「a+b
+c」が「l・m」と共にOR操作される前に「q+
r」と共にAND操作されるため、「a」を含む最大O
R項は「a+b+c」である。
+c)・(q+r) + l・mを考察しよう。「a+b
+c」が「l・m」と共にOR操作される前に「q+
r」と共にAND操作されるため、「a」を含む最大O
R項は「a+b+c」である。
【0064】図4および図5は、収束論理ブロックがS
NあるいはPNのいずれか一方である時の最大AND項
と最大OR項の概念を示す。
NあるいはPNのいずれか一方である時の最大AND項
と最大OR項の概念を示す。
【0065】図4において、SN収束論理ブロック40
2は、1対のコーンを定義するルート・ピン404、4
06を有する。仮想線で示されるように、ルート・ピン
404はコーン408を定義する。他のコーン(ラベル
なし)はルート・ピン406により明瞭に定義される。
更に、ノード410、412の各々における信号「a」
および信号「b」は、両方のコーンに対する共通葉であ
る。
2は、1対のコーンを定義するルート・ピン404、4
06を有する。仮想線で示されるように、ルート・ピン
404はコーン408を定義する。他のコーン(ラベル
なし)はルート・ピン406により明瞭に定義される。
更に、ノード410、412の各々における信号「a」
および信号「b」は、両方のコーンに対する共通葉であ
る。
【0066】信号「a」に関しては、ルート・ピン40
4から観察される如き信号「a」を含む最大AND項
は、ノード414にある。また、最大OR項は、ノード
410にある。
4から観察される如き信号「a」を含む最大AND項
は、ノード414にある。また、最大OR項は、ノード
410にある。
【0067】図5において、PN収束論理ブロック44
2は、1対のコーンを定義するルート・ピン444、4
46を有する。仮想線により示されるように、ルート・
ピン444はコーン448を定義する。他のコーンは、
ルート・ピン446により定義される。更に、ノード4
50における信号「a」は、両方のコーンに対して共通
葉である。
2は、1対のコーンを定義するルート・ピン444、4
46を有する。仮想線により示されるように、ルート・
ピン444はコーン448を定義する。他のコーンは、
ルート・ピン446により定義される。更に、ノード4
50における信号「a」は、両方のコーンに対して共通
葉である。
【0068】信号「a」に関しては、ルート・ピン44
4から観察される如き信号「a」を含む最大OR項はノ
ード450にある。また、最大AND項はノード454
にある。
4から観察される如き信号「a」を含む最大OR項はノ
ード450にある。また、最大AND項はノード454
にある。
【0069】冗長項のタイプ、即ち最大AND項または
最大OR項は、(1)収束の位相関係、(2)収束論理
ブロックのタイプ、即ちSNかPNか、に依存する。後
者は既知であるが、前者は流れ図300に示されるよう
にして決定される。
最大OR項は、(1)収束の位相関係、(2)収束論理
ブロックのタイプ、即ちSNかPNか、に依存する。後
者は既知であるが、前者は流れ図300に示されるよう
にして決定される。
【0070】このため、流れ図のブロック308におい
て、2つのコーンの各々における共通葉で始まった信号
の信号位相がルート・ピンにおいて相互に同位相である
か位相外れであるかが判定される。より詳しく言えば、
共通葉とルート・ピンとの間の論理経路に沿って反転数
がカウントされる。一方のコーンにおける偶数カウント
と比較して他方のコーンにおけるカウントが奇数なら、
位相外れの関係である。更に、両方のコーンにおけるカ
ウントが一貫して奇数または偶数の場合は、同位相の関
係を示唆する。
て、2つのコーンの各々における共通葉で始まった信号
の信号位相がルート・ピンにおいて相互に同位相である
か位相外れであるかが判定される。より詳しく言えば、
共通葉とルート・ピンとの間の論理経路に沿って反転数
がカウントされる。一方のコーンにおける偶数カウント
と比較して他方のコーンにおけるカウントが奇数なら、
位相外れの関係である。更に、両方のコーンにおけるカ
ウントが一貫して奇数または偶数の場合は、同位相の関
係を示唆する。
【0071】一例として、図6および図7の信号「a」
について考察しよう。図6においては、信号「a」は収
束PN論理ブロック506と結合されたルート・ピン5
02、504を有する2つのコーンの共通葉である。
について考察しよう。図6においては、信号「a」は収
束PN論理ブロック506と結合されたルート・ピン5
02、504を有する2つのコーンの共通葉である。
【0072】図6は、葉ノード508とルート・ピン5
02との間の信号「a」の同位相の再収束を示す。換言
すれば、ノード502、504において信号「a」によ
る結果として得られる信号は同位相にある。先に述べた
ように、信号が同位相かどうかは、葉ノードとルート・
ピンとの間の反転をカウントすることにより決定され
る。従って、ルート・ピン502により定義されるコー
ンに関しては、合計2つの反転が存在する。信号「a」
はインバータ510において1回反転され、その後NO
R論理ブロック512において反転され、これによりル
ート・ピン502に反転されない信号「a」を結果とし
て生じる。更にまた、ルート・ピン504により定義さ
れるコーンに関しては、反転は存在しない。従って、ル
ート・ピン502、504において信号「a」による結
果として得られる信号の位相は同じである、即ち「同位
相」である。
02との間の信号「a」の同位相の再収束を示す。換言
すれば、ノード502、504において信号「a」によ
る結果として得られる信号は同位相にある。先に述べた
ように、信号が同位相かどうかは、葉ノードとルート・
ピンとの間の反転をカウントすることにより決定され
る。従って、ルート・ピン502により定義されるコー
ンに関しては、合計2つの反転が存在する。信号「a」
はインバータ510において1回反転され、その後NO
R論理ブロック512において反転され、これによりル
ート・ピン502に反転されない信号「a」を結果とし
て生じる。更にまた、ルート・ピン504により定義さ
れるコーンに関しては、反転は存在しない。従って、ル
ート・ピン502、504において信号「a」による結
果として得られる信号の位相は同じである、即ち「同位
相」である。
【0073】図7において、信号「a」は、収束PN論
理ブロック526と結合されたルート・ピン522、5
24を有する2つのコーンの共通葉である。
理ブロック526と結合されたルート・ピン522、5
24を有する2つのコーンの共通葉である。
【0074】図7は、葉ノード528とルート・ピン5
22との間の信号「a」の位相外れの再収束を示す。換
言すれば、ノード522、524において信号「a」に
よる結果として生じる信号は位相外れ関係にある。ルー
ト・ピン522により定義されるコーンについては、信
号「a」はインバータ520において1回反転され、結
果として反転された信号をルート・ピン522に生じ
る。更に、ルート・ピン524により定義されるコーン
については、反転は存在しない。従って、ルート・ピン
522、524における信号「a」の位相は同じでな
い、即ち「位相外れ」である。
22との間の信号「a」の位相外れの再収束を示す。換
言すれば、ノード522、524において信号「a」に
よる結果として生じる信号は位相外れ関係にある。ルー
ト・ピン522により定義されるコーンについては、信
号「a」はインバータ520において1回反転され、結
果として反転された信号をルート・ピン522に生じ
る。更に、ルート・ピン524により定義されるコーン
については、反転は存在しない。従って、ルート・ピン
522、524における信号「a」の位相は同じでな
い、即ち「位相外れ」である。
【0075】PNにおける信号の同位相の再収束の場合
の冗長項を決定するため、この信号を含む「最大OR
項」が識別される。例えば、ブール論理項即ち、((a
+b+c)・d・e)・(a・x)について考察しよ
う。上記の事例においては、項「((a+b+c)・d
・e)」は1つのコーンにより寄与されるが、「(a・
x)」は他のコーンにより寄与される。明らかなよう
に、信号「a」はAND機能において同位相で再収束す
る。排除されるべき最大冗長項は(a+b+c)であ
り、これは信号「a」を含む最大OR項である。
の冗長項を決定するため、この信号を含む「最大OR
項」が識別される。例えば、ブール論理項即ち、((a
+b+c)・d・e)・(a・x)について考察しよ
う。上記の事例においては、項「((a+b+c)・d
・e)」は1つのコーンにより寄与されるが、「(a・
x)」は他のコーンにより寄与される。明らかなよう
に、信号「a」はAND機能において同位相で再収束す
る。排除されるべき最大冗長項は(a+b+c)であ
り、これは信号「a」を含む最大OR項である。
【0076】反対に、PNにおける信号の位相外れの再
収束の場合の冗長項を決定するためには、この信号を含
む「最大AND項」が識別される。例えば、ブール論理
項((a・b・c+p・q・r+x・y・z)・d・
e)・(−a・x)について考察しよう。上記の事例に
おいては、項「((a・b・c+p・q・r+x・y・
z)・d・e)」は1つのコーンにより寄与されるが、
「(−a・x)」は他のコーンにより寄与される。明ら
かなように、信号「a」はAND機能において位相外れ
で再収束する。排除されるべき最大冗長項は、信号
「a」を含む最大AND項である「a・b・c」であ
る。
収束の場合の冗長項を決定するためには、この信号を含
む「最大AND項」が識別される。例えば、ブール論理
項((a・b・c+p・q・r+x・y・z)・d・
e)・(−a・x)について考察しよう。上記の事例に
おいては、項「((a・b・c+p・q・r+x・y・
z)・d・e)」は1つのコーンにより寄与されるが、
「(−a・x)」は他のコーンにより寄与される。明ら
かなように、信号「a」はAND機能において位相外れ
で再収束する。排除されるべき最大冗長項は、信号
「a」を含む最大AND項である「a・b・c」であ
る。
【0077】SNにおける信号の同位相の再収束の場合
の冗長項を決定するためには、この信号を含む「最大A
ND項」が識別される。例えば、ブール論理項、即ち
((a・b・c+p・q・r+x・y・z)・d・e)
+(a・b)について考察しよう。上記の事例では、項
「((a・b・c+p・q・r+x・y・z)・d・
e)」は一方のコーンにより寄与されるが、項「(a・
b)」は他のコーンにより寄与される。明らかなよう
に、信号「a」はOR論理ブロックにおいて同位相で再
収束する。排除されるべき最大冗長項は、信号「a」を
含む最大AND項である「a・b・c」である。
の冗長項を決定するためには、この信号を含む「最大A
ND項」が識別される。例えば、ブール論理項、即ち
((a・b・c+p・q・r+x・y・z)・d・e)
+(a・b)について考察しよう。上記の事例では、項
「((a・b・c+p・q・r+x・y・z)・d・
e)」は一方のコーンにより寄与されるが、項「(a・
b)」は他のコーンにより寄与される。明らかなよう
に、信号「a」はOR論理ブロックにおいて同位相で再
収束する。排除されるべき最大冗長項は、信号「a」を
含む最大AND項である「a・b・c」である。
【0078】反対に、SNにおける信号を表わす位相外
れの再収束の場合の冗長項を決定するためには、信号を
含む「最大OR項」が識別されねばならない。例えば、
ブール論理項、即ち、((a・b・c+p・q・r+x
・y・z)・d・e)+(−a・x)について考察しよ
う。先の事例においては、項((a・b・c+p・q・
r+x・y・z)・d・e)は一方のコーンにより寄与
され、項「(−a・x)」は他のコーンにより寄与され
る。信号「a」はAND機能において位相外れで再収束
する。排除されるべき最大冗長項は、信号「a」を含む
最大AND項である「a・b・c」である。
れの再収束の場合の冗長項を決定するためには、信号を
含む「最大OR項」が識別されねばならない。例えば、
ブール論理項、即ち、((a・b・c+p・q・r+x
・y・z)・d・e)+(−a・x)について考察しよ
う。先の事例においては、項((a・b・c+p・q・
r+x・y・z)・d・e)は一方のコーンにより寄与
され、項「(−a・x)」は他のコーンにより寄与され
る。信号「a」はAND機能において位相外れで再収束
する。排除されるべき最大冗長項は、信号「a」を含む
最大AND項である「a・b・c」である。
【0079】従って、(1)位相外れの信号を有するP
Nの場合、あるいは(2)位相外れの信号を有するSN
の場合には、流れ図300は流れ図のブロック310へ
進む。前者の場合は、流れ図のブロック310におい
て、共通葉を含む最大AND項が決定される。後者の場
合は、流れ図のブロック310において、共通葉を含む
最大OR項が決定される。
Nの場合、あるいは(2)位相外れの信号を有するSN
の場合には、流れ図300は流れ図のブロック310へ
進む。前者の場合は、流れ図のブロック310におい
て、共通葉を含む最大AND項が決定される。後者の場
合は、流れ図のブロック310において、共通葉を含む
最大OR項が決定される。
【0080】更に、同位相信号を有するPNの場合、あ
るいは同位相信号を有するSNの場合は、流れ図300
は流れ図のブロック312へ進む。前者の場合は、流れ
図のブロック312において、共通葉を含む最大OR項
が決定される。後者の場合は、流れ図のブロック312
において、共通葉を含む最大AND項が決定される。
るいは同位相信号を有するSNの場合は、流れ図300
は流れ図のブロック312へ進む。前者の場合は、流れ
図のブロック312において、共通葉を含む最大OR項
が決定される。後者の場合は、流れ図のブロック312
において、共通葉を含む最大AND項が決定される。
【0081】次に、流れ図のブロック314において、
最大冗長項を有するコーンにおいては、最大冗長項から
各収束SN/PN論理ブロックに対する論理経路にファ
ンアウトがないかどうかが決定される。この照会は、ロ
ジックが排除される場合これが問題となる収束SN/P
N論理ブロックにのみ影響を与えることを保証するため
行われる。
最大冗長項を有するコーンにおいては、最大冗長項から
各収束SN/PN論理ブロックに対する論理経路にファ
ンアウトがないかどうかが決定される。この照会は、ロ
ジックが排除される場合これが問題となる収束SN/P
N論理ブロックにのみ影響を与えることを保証するため
行われる。
【0082】設計的な選択として、流れ図のブロック3
14は下記の機能を有する判断として構成することがで
きる。ファンアウトが存在するならば、流れ図300
は、仮想矢印315により示されるように、別の共通葉
(もしあれば)を検索するため流れ図のブロック304
へ戻る。実質的に、前記動作は論理的に冗長である更に
コンパクトな論理を可能にする。さもなければ、流れ図
300はブロック316へ進み、ここで冗長性の排除が
起生し得る。冗長性の排除については、図8に関して詳
細にのべる。
14は下記の機能を有する判断として構成することがで
きる。ファンアウトが存在するならば、流れ図300
は、仮想矢印315により示されるように、別の共通葉
(もしあれば)を検索するため流れ図のブロック304
へ戻る。実質的に、前記動作は論理的に冗長である更に
コンパクトな論理を可能にする。さもなければ、流れ図
300はブロック316へ進み、ここで冗長性の排除が
起生し得る。冗長性の排除については、図8に関して詳
細にのべる。
【0083】冗長性の排除が行われた後、流れ図300
が終了する。このプロセスは流れ図200のブロック2
30へ戻る。
が終了する。このプロセスは流れ図200のブロック2
30へ戻る。
【0084】図8は、最大冗長項(T)を排除するため
の望ましい実施態様を詳細に示す。障害が排除される方
法は、障害の性質および位置に依存する。
の望ましい実施態様を詳細に示す。障害が排除される方
法は、障害の性質および位置に依存する。
【0085】第1に、流れ図のブロック604におい
て、問題となる冗長項が同じ位相を持つかどうかが考察
される。位相が同じならば、流れ図600はブロック6
06へ進み、さもなければ、流れ図600はブロック6
08へ進む。
て、問題となる冗長項が同じ位相を持つかどうかが考察
される。位相が同じならば、流れ図600はブロック6
06へ進み、さもなければ、流れ図600はブロック6
08へ進む。
【0086】流れ図の両方のブロック606および60
8では、最大冗長項にファンアウトがないかどうかが決
定される。もし有れば、流れ図は、そのブロック606
または608からブロック610へ進む。流れ図のブロ
ック610では、冗長項を排除するための第1の方法が
行われる。最大冗長項の出力から各ルート・ピンへの論
理経路は、最大冗長項が削除されたもので置換される。
更に、論理は流れ図のブロック612において整理され
る。なかんずく、論理の整理により論理ブロックは単一
の入出力を持つ形に簡単化される。最後に、流れ図60
0は最終ブロック624で終了する。
8では、最大冗長項にファンアウトがないかどうかが決
定される。もし有れば、流れ図は、そのブロック606
または608からブロック610へ進む。流れ図のブロ
ック610では、冗長項を排除するための第1の方法が
行われる。最大冗長項の出力から各ルート・ピンへの論
理経路は、最大冗長項が削除されたもので置換される。
更に、論理は流れ図のブロック612において整理され
る。なかんずく、論理の整理により論理ブロックは単一
の入出力を持つ形に簡単化される。最後に、流れ図60
0は最終ブロック624で終了する。
【0087】冗長項を排除する前記の第1の方法の事例
として、ルート・ピン702、704、ならびに積の収
束論理ブロック706を有するPN論理ブロックが示さ
れる図9の(a)を考察しよう。図において、ブロック
706は積ノードで、信号「a」は位相外れでブロック
706にはいる。PNにおける位相外れの再収束の場合
の冗長項の定義により、ルートピン702から信号
「a」を見るときの最大AND項はノード708におけ
る信号「a」である。これが冗長項であり、これが冗長
項であり、削除されるべきものである。
として、ルート・ピン702、704、ならびに積の収
束論理ブロック706を有するPN論理ブロックが示さ
れる図9の(a)を考察しよう。図において、ブロック
706は積ノードで、信号「a」は位相外れでブロック
706にはいる。PNにおける位相外れの再収束の場合
の冗長項の定義により、ルートピン702から信号
「a」を見るときの最大AND項はノード708におけ
る信号「a」である。これが冗長項であり、これが冗長
項であり、削除されるべきものである。
【0088】図8の流れ図のブロック610の方法によ
れば、ノード708における信号「a」である最大冗長
項からルート・ピン702への論理経路が、最大冗長項
が削除されたもので置換される。従って、葉ノード70
8はNOR論理ブロック712から削除され、この結果
NOR論理ブロック712はインバータと等価なものと
なり、ノード708はルート・ピン702により定義さ
れるコーンから削除される。
れば、ノード708における信号「a」である最大冗長
項からルート・ピン702への論理経路が、最大冗長項
が削除されたもので置換される。従って、葉ノード70
8はNOR論理ブロック712から削除され、この結果
NOR論理ブロック712はインバータと等価なものと
なり、ノード708はルート・ピン702により定義さ
れるコーンから削除される。
【0089】結果として、図9の(b)に示される如き
論理構成が得られる。図9の(a)のNOR論理ブロッ
ク712は、1つの入力「b」を持つNOR論理ブロッ
クが1つの入力「b」を持つインバータ714と等価で
あるため、このインバータにより置換される。
論理構成が得られる。図9の(a)のNOR論理ブロッ
ク712は、1つの入力「b」を持つNOR論理ブロッ
クが1つの入力「b」を持つインバータ714と等価で
あるため、このインバータにより置換される。
【0090】再び(同位相信号に対する)図8の流れ図
のブロック606へ戻り、最大冗長項にファンアウトが
なければ、流れ図600はブロック614へ進み、ここ
で冗長項を排除する第2の方法が行われる。流れ図のブ
ロック614において、最大冗長項が論理ブロックを削
除することにより除かれる。更に、次の流れ図のブロッ
ク612において、論理は先に述べたように整理され
る。最後に、流れ図は最終ブロック624で終了する。
のブロック606へ戻り、最大冗長項にファンアウトが
なければ、流れ図600はブロック614へ進み、ここ
で冗長項を排除する第2の方法が行われる。流れ図のブ
ロック614において、最大冗長項が論理ブロックを削
除することにより除かれる。更に、次の流れ図のブロッ
ク612において、論理は先に述べたように整理され
る。最後に、流れ図は最終ブロック624で終了する。
【0091】再び流れ図のブロック608(位相外れ信
号に対する)へ戻り、最大冗長項のファンアウトがなけ
れば、流れ図600はブロック618へ進み、ここで冗
長項を排除する第3の方法が行われる。この第3の方法
は、論理的なロー「0」あるいは論理的ハイ「1」のい
ずれかである一定の論理値を注入することにより最大冗
長項を削除することを用いる。次に、流れ図のブロック
620において、論理が更に簡素化され得るように定数
の効果が伝えられ、流れ図のブロック612に示される
ように、整理される。最後に、流れ図は最終ブロック6
24で終る。
号に対する)へ戻り、最大冗長項のファンアウトがなけ
れば、流れ図600はブロック618へ進み、ここで冗
長項を排除する第3の方法が行われる。この第3の方法
は、論理的なロー「0」あるいは論理的ハイ「1」のい
ずれかである一定の論理値を注入することにより最大冗
長項を削除することを用いる。次に、流れ図のブロック
620において、論理が更に簡素化され得るように定数
の効果が伝えられ、流れ図のブロック612に示される
ように、整理される。最後に、流れ図は最終ブロック6
24で終る。
【0092】冗長項を排除する第3の方法の一例とし
て、図10(a)および(b)を参照されたい。図10
(a)は、論理的ローの注入に関する方法を示し、図1
0(b)は論理的ハイを注入する時の方法を示す。
て、図10(a)および(b)を参照されたい。図10
(a)は、論理的ローの注入に関する方法を示し、図1
0(b)は論理的ハイを注入する時の方法を示す。
【0093】図10(a)に示されるように、収束ブー
ル積の論理ブロック802はルート・ピン804、80
6を有する。ルート・ピン804により定義されるコー
ンに注目すれば、ノード804における信号「a」が流
れ図のブロック618に従ってコーンから削除される。
次に、一定の論理的ロー810が図示の如く伝搬され
る。更に、この論理は不要なAND論理ブロック80
2、インバータ812および入力信号「a」を除くこと
により簡素化され、これにより論理的ロー・ジェネレー
タ810のみが存在する結果となる。
ル積の論理ブロック802はルート・ピン804、80
6を有する。ルート・ピン804により定義されるコー
ンに注目すれば、ノード804における信号「a」が流
れ図のブロック618に従ってコーンから削除される。
次に、一定の論理的ロー810が図示の如く伝搬され
る。更に、この論理は不要なAND論理ブロック80
2、インバータ812および入力信号「a」を除くこと
により簡素化され、これにより論理的ロー・ジェネレー
タ810のみが存在する結果となる。
【0094】同様な図10(b)に示されるように、収
束ブール和の論理ブロック842はルート・ピン844
および846を有する。ルート・ピン844により定義
されるコーンに注目すれば、ノード844における信号
「a」が流れ図のブロック618に従ってコーンから削
除される。次に、一定の論理的ハイ850が図示の如く
伝搬される。更に、論理は、不要なOR論理ブロック8
42、インバータ852および入力信号「a」を除くこ
とにより簡素化され、これにより論理的ハイ・ジェネレ
ータ850のみが存在する結果となる。
束ブール和の論理ブロック842はルート・ピン844
および846を有する。ルート・ピン844により定義
されるコーンに注目すれば、ノード844における信号
「a」が流れ図のブロック618に従ってコーンから削
除される。次に、一定の論理的ハイ850が図示の如く
伝搬される。更に、論理は、不要なOR論理ブロック8
42、インバータ852および入力信号「a」を除くこ
とにより簡素化され、これにより論理的ハイ・ジェネレ
ータ850のみが存在する結果となる。
【0095】図10は、値が供給する論理機能を「制
御」する時、定数の伝搬がどんな効果を持つかを示す。
この値が何らの制御効果も持たなければ(例えば、AN
Dに対する他の入力に伴う論理値1)、その接続は単に
除去される。このような全てのバージョンにおいて、定
数の効果はルート・ピンに達する前に一般になくなる
(あるいは、なくならない場合もある)。
御」する時、定数の伝搬がどんな効果を持つかを示す。
この値が何らの制御効果も持たなければ(例えば、AN
Dに対する他の入力に伴う論理値1)、その接続は単に
除去される。このような全てのバージョンにおいて、定
数の効果はルート・ピンに達する前に一般になくなる
(あるいは、なくならない場合もある)。
【0096】本発明については、その幾つかの望ましい
実施態様に従って本文に詳細に述べたが、、多くの修正
および変更が当業者により可能である。従って、頭書の
特許請求の範囲により、かかる全ての修正および変更が
本発明の趣旨および範囲に該当するものとして包含され
るものとする。
実施態様に従って本文に詳細に述べたが、、多くの修正
および変更が当業者により可能である。従って、頭書の
特許請求の範囲により、かかる全ての修正および変更が
本発明の趣旨および範囲に該当するものとして包含され
るものとする。
【図1】本発明に関する基本的概念を示す図である。
【図2】本発明の方法全体を示す高レベルの流れ図であ
る。
る。
【図3】最大の冗長項が識別され、この冗長項が排除さ
れるべきかどうかの判定が行われる冗長性の処理方法を
示す図である。
れるべきかどうかの判定が行われる冗長性の処理方法を
示す図である。
【図4】収束論理ブロックがブール和ノード(SN)で
ある時の最大AND項および最大OR項の概念を示す図
である。
ある時の最大AND項および最大OR項の概念を示す図
である。
【図5】収束論理ブロックがブール積ノード(PN)で
ある時の最大AND項および最大OR項の概念を示す図
である。
ある時の最大AND項および最大OR項の概念を示す図
である。
【図6】信号「a」の同一位相の再収束を示す図であ
る。
る。
【図7】信号「a」の異なる位相の再収束を示す図であ
る。
る。
【図8】冗長性を排除するための3つの手法が示される
本発明による方法を示す図である。
本発明による方法を示す図である。
【図9】論理が最大冗長項の削除により反復される本発
明による冗長性を排除する1つの方法を示す図である。
明による冗長性を排除する1つの方法を示す図である。
【図10】一定の論理ソースが構成される本発明による
冗長性を排除する更に別の方法を示す図である。
冗長性を排除する更に別の方法を示す図である。
【符号の説明】 102 コーン 104 コーン 112 ルート・ピン 114 ルート・ピン 118 論理ブロック 120 ノード 402 SN収束論理ブロック 404 ルート・ピン 406 ルート・ピン 408 コーン 410 ノード 412 ノード 414 ノード 442 PN収束論理ブロック 444 ルート・ピン 446 ルート・ピン 448 コーン 450 ノード 502 ルート・ピン 504 ルート・ピン 506 収束PN論理ブロック 508 葉ノード 510 インバータ 512 NOR論理ブロック 520 インバータ 522 ルート・ピン 524 ルート・ピン 526 収束PN論理ブロック 528 葉ノード 702 ルート・ピン 704 ルート・ピン 706 収束論理ブロック 708 葉ノード 710 葉ノード 712 NOR論理ブロック 714 インバータ 802 AND論理ブロック 804 ルート・ピン 806 ルート・ピン 810 論理的ロー・ジェネレータ 812 インバータ 842 収束ブール和の論理ブロック 844 ルート・ピン 846 ルート・ピン 850 論理的ハイ・ジェネレータ 852 OR論理ブロック 854 インバータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 トーマス・エドワード・ロッサー アメリカ合衆国12603、ニューヨーク州 ポウキープシー、タングルウッド・レーン 23番地 (72)発明者 プラシャント・スリニヴァスラオ・ソーカ ー アメリカ合衆国15116、ペンシルバニア州 グレンショー、グレン・マルコム・ドラ イブ 401−ディー
Claims (1)
- 【請求項1】 再収束信号によって生じる信号経路中の
冗長性をを識別することにより論理回路網の構成を最適
化するコンピュータ支援による方法において、 (a)前記論理回路網のデータベース・モデルにおいて
ブール和および積ノードを識別し、 (b)前記ノードの各々におけるピンの対の全てについ
て冗長性が存在するかどうかを判定するステップであっ
て、 イ)ピンの対を選択し、 ロ)前記ピンの対の各ピンがどの葉セットに属するかを
識別し、 ハ)異なる前記葉セットに共通に属する葉を識別してこ
れを冗長性を示すものと判定する、ことを含むステップ
と、(c)冗長項を識別するステップであって、 イ)前記共通の葉から前記ノードのルートピンに至る経
路を調べて前記共通の葉の信号が前記ルートピンにおい
て同相となるか逆位相となるかを判定し、 ロ)同相であるなら前記ノードが積ノードであれば前記
共通の葉を含む最大OR項を決定し、また前記ノードが
和ノードであれば前記共通の葉を含む最大AND項を決
定し、 ハ)逆位相であるなら前記ノードが積ノードであれば前
記共通の葉を含む最大AND項を決定し、また前記ノー
ドが和ノードであれば前記共通の葉を含む最大OR項を
決定する、ことを含むステップと、 (d)前記ステップ(c)で決定された最大ANDまた
はOR項を冗長項として削除するステップと、を含むこ
とを特徴とする論理回路網の構成を最適化する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US723121 | 1991-06-28 | ||
US07/723,121 US5524082A (en) | 1991-06-28 | 1991-06-28 | Redundancy removal using quasi-algebraic methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143679A JPH05143679A (ja) | 1993-06-11 |
JPH0760445B2 true JPH0760445B2 (ja) | 1995-06-28 |
Family
ID=24904945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4122103A Expired - Lifetime JPH0760445B2 (ja) | 1991-06-28 | 1992-05-14 | 論理回路網の構成を最適化する方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US5524082A (ja) |
JP (1) | JPH0760445B2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397380B1 (en) | 1994-10-21 | 2002-05-28 | International Business Machines Corporation | Computer-program compilers comprising a program augmentation capability |
US5657240A (en) * | 1995-05-01 | 1997-08-12 | Nec Usa, Inc. | Testing and removal of redundancies in VLSI circuits with non-boolean primitives |
US5996020A (en) * | 1995-07-21 | 1999-11-30 | National Security Agency | Multiple level minimum logic network |
US5862149A (en) * | 1995-08-29 | 1999-01-19 | Unisys Corporation | Method of partitioning logic designs for automatic test pattern generation based on logical registers |
US5638380A (en) * | 1996-03-14 | 1997-06-10 | Lsi Logic Corp. | Protecting proprietary asic design information using boundary scan on selective inputs and outputs |
US6018622A (en) * | 1997-09-24 | 2000-01-25 | Sun Microsystems, Inc. | Method for reducing circuit area by grouping compatible storage devices |
US5974242A (en) * | 1997-09-25 | 1999-10-26 | The United States Of America As Represented By The Secretary Of The Army | Methods and computer programs for minimizing logic circuit design using identity cells |
US6473885B1 (en) | 1998-07-17 | 2002-10-29 | Mentor Graphics Corporation | Digital circuit layout techniques using circuit decomposition and pin swapping |
US6360352B2 (en) * | 1998-07-17 | 2002-03-19 | David E. Wallace | Digital circuit layout techniques |
US6397370B1 (en) * | 1998-12-18 | 2002-05-28 | Candence Design Systems, Inc. | Method and system for breaking complex Boolean networks |
US6405345B1 (en) | 1999-05-28 | 2002-06-11 | Cadence Design Systems, Inc. | Updating placement during technology mapping |
US6378116B1 (en) * | 1999-05-28 | 2002-04-23 | Cadence Design Systems, Inc. | Using budgeted required time during technology mapping |
US6536016B1 (en) * | 2000-07-27 | 2003-03-18 | Lsi Logic Corporation | Method and apparatus for locating constants in combinational circuits |
GB2365636B (en) | 2000-08-04 | 2005-01-05 | Automatic Parallel Designs Ltd | A parallel counter and a multiplication logic circuit |
EP1307812A2 (en) * | 2000-08-04 | 2003-05-07 | Automatic Parallel Designs Limited | A parallel counter and a logic circuit for performing multiplication |
US20050021585A1 (en) * | 2000-08-04 | 2005-01-27 | Dmitriy Rumynin | Parallel counter and a logic circuit for performing multiplication |
US6883011B2 (en) | 2000-08-04 | 2005-04-19 | Arithmatica Limited | Parallel counter and a multiplication logic circuit |
US7136888B2 (en) * | 2000-08-04 | 2006-11-14 | Arithmatica Limited | Parallel counter and a logic circuit for performing multiplication |
GB2373602B (en) * | 2001-03-22 | 2004-11-17 | Automatic Parallel Designs Ltd | A multiplication logic circuit |
GB2383435A (en) * | 2001-12-18 | 2003-06-25 | Automatic Parallel Designs Ltd | Logic circuit for performing modular multiplication and exponentiation |
GB2396718B (en) * | 2002-12-23 | 2005-07-13 | Arithmatica Ltd | A logic circuit and method for carry and sum generation and method of designing such a logic circuit |
US7788465B2 (en) * | 2002-12-30 | 2010-08-31 | Silicon Hive B.V. | Processing system including a reconfigurable channel infrastructure comprising a control chain with combination elements for each processing element and a programmable switch between each pair of neighboring processing elements for efficient clustering of processing elements |
US6909767B2 (en) * | 2003-01-14 | 2005-06-21 | Arithmatica Limited | Logic circuit |
US7042246B2 (en) * | 2003-02-11 | 2006-05-09 | Arithmatica Limited | Logic circuits for performing threshold functions |
US7308471B2 (en) | 2003-03-28 | 2007-12-11 | Arithmatica Limited | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding |
WO2004104820A2 (en) * | 2003-05-23 | 2004-12-02 | Arithmatica Limited | A sum bit generation circuit |
US7313552B2 (en) * | 2004-03-19 | 2007-12-25 | Sybase, Inc. | Boolean network rule engine |
US7146591B2 (en) * | 2004-11-19 | 2006-12-05 | Lsi Logic Corporation | Method of selecting cells in logic restructuring |
US7370301B2 (en) * | 2004-12-17 | 2008-05-06 | Stmicroelectronics, Inc. | Method and apparatus for mixing static logic with domino logic |
US7331030B2 (en) * | 2004-12-17 | 2008-02-12 | Stmicroelectronics, Inc. | Method to unate a design for improved synthesizable domino logic flow |
US7346862B2 (en) * | 2005-08-19 | 2008-03-18 | Synopsys, Inc. | Method and apparatus for optimizing a logic network in a digital circuit |
US7877711B2 (en) * | 2006-03-01 | 2011-01-25 | Nangate A/S | Methods of deriving switch networks |
US20070260926A1 (en) * | 2006-04-13 | 2007-11-08 | International Business Machines Corporation | Static and dynamic learning test generation method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4503537A (en) * | 1982-11-08 | 1985-03-05 | International Business Machines Corporation | Parallel path self-testing system |
US4591993A (en) * | 1983-11-21 | 1986-05-27 | International Business Machines Corporation | Methodology for making logic circuits |
US4703435A (en) * | 1984-07-16 | 1987-10-27 | International Business Machines Corporation | Logic Synthesizer |
US4726023A (en) * | 1986-05-14 | 1988-02-16 | International Business Machines Corporation | Determination of testability of combined logic end memory by ignoring memory |
US4816999A (en) * | 1987-05-20 | 1989-03-28 | International Business Machines Corporation | Method of detecting constants and removing redundant connections in a logic network |
US5029102A (en) * | 1987-06-08 | 1991-07-02 | International Business Machines, Corp. | Logical synthesis |
US4862399A (en) * | 1987-08-31 | 1989-08-29 | General Electric Company | Method for generating efficient testsets for a class of digital circuits |
US4916627A (en) * | 1987-12-02 | 1990-04-10 | International Business Machines Corporation | Logic path length reduction using boolean minimization |
US5140526A (en) * | 1989-01-06 | 1992-08-18 | Minc Incorporated | Partitioning of Boolean logic equations into physical logic devices |
-
1991
- 1991-06-28 US US07/723,121 patent/US5524082A/en not_active Expired - Fee Related
-
1992
- 1992-05-14 JP JP4122103A patent/JPH0760445B2/ja not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/466,917 patent/US5774369A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH05143679A (ja) | 1993-06-11 |
US5774369A (en) | 1998-06-30 |
US5524082A (en) | 1996-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0760445B2 (ja) | 論理回路網の構成を最適化する方法 | |
Chang et al. | Perturb and simplify: Multilevel boolean network optimizer | |
US5513339A (en) | Concurrent fault simulation of circuits with both logic elements and functional circuits | |
US7162706B2 (en) | Method for analyzing and validating clock integration properties in circuit systems | |
US5587919A (en) | Apparatus and method for logic optimization by redundancy addition and removal | |
Padmanaban et al. | Efficient identification of (critical) testable path delay faults using decision diagrams | |
Kundu | GateMaker: A transistor to gate level model extractor for simulation, automatic test pattern generation and verification | |
Bose et al. | A fault simulator for MOS LSI circuits | |
Abadir et al. | Functional test generation for digital circuits described using binary decision diagrams | |
EP1327890B1 (en) | Method of optimizing a plurality of tests used in digital integrated circuits | |
Pomeranz et al. | On error correction in macro-based circuits | |
Lee et al. | SWiTEST: A switch level test generation system for CMOS combinational circuits | |
JP3272915B2 (ja) | スタティックタイミング解析装置 | |
Chun et al. | ATPG-XP: test generation for maximal crosstalk-induced faults | |
Shah et al. | Testing multiple stuck-at faults of robdd based combinational circuit design | |
JPH11160400A (ja) | 順序回路の故障箇所推定方法及び故障箇所推定における候補抽出並びにその重み付け方法更にはその装置 | |
Glaser et al. | Logic optimization by an improved sequential redundancy addition and removal technique | |
Oh et al. | Efficient logic-level timing analysis using constraint-guided critical path search | |
Stempkovskiy et al. | Accurate method for identical fault search in logical circuits | |
Shah | Fully Testable Circuit Synthesis for Delay and Multiple Stuck-at Faults | |
Veneris et al. | Logic verification based on diagnosis techniques | |
Wang et al. | A sequential circuit fault simulation by surrogate fault propagation | |
Aarna et al. | Parallel fault simulation of digital circuits | |
Espejo et al. | Logic restructuring for MUX-based FPGAs | |
Jayaraman et al. | Implicit identification of non-robustly unsensitizable paths using bounded delay model |