(57)【要約】【課題】パストランジスタ論理回路を合成する際に、最適化を自動的に行うことができるパストランジスタ論理回路設計装置を提供する。【解決手段】ステップＳＰ１において、入力されたＶｅｒｉｌｏｇネットリストファイルに基づいて、論理式グラフを生成し、ステップＳＰ２において、論理式グラフを変換してサイズが最適化されたＢＤＤを生成する。さらに、冗長回路を削除するなどのアルゴリズムにより、ＢＤＤサイズを小さし、回路の実装面積を小さくする。ステップＳＰ３において、駆動するトランジスタの個数または駆動するトランジスタの直列段数をコスト関数あるいはトランジスタのパラメータを離散化して調整するなどのアルゴリズムを用いてタイミングの最適化を行い、ステップＳＰ４においてパストランジスタ論理回路を設計するためのネットリストを出力する。【選択図】　　　　図１
2004145402.tif 000002
【特許請求の範囲】
【請求項１】
論理回路を構成する素子と入出力の情報とを含むリストからパストランジスタ論理回路を設計するパストランジスタ論理回路設計方法であって、
前記リストから組合せ回路部分の論理式グラフを生成するステップと、
前記生成されたグラフを変換してサイズが最適化された二分決定グラフを生成するステップと、
前記サイズが最適化された二分決定グラフをそのまま変換したパストランジスタ論理回路のタイミングを最適化するステップと、
前記タイミングの最適化されたパストランジスタ論理回路のリストを出力するステップとを備えたことを特徴とする、パストランジスタ論理回路設計方法。
【請求項２】
論理回路を構成する素子と入出力の情報とを含むリストからパストランジスタ論理回路を設計するパストランジスタ論理回路設計装置であって、
前記リストから組合せ回路部分の論理式グラフを生成するグラフ生成手段と、
前記グラフ生成手段によって生成されたグラフを変換してサイズが最適化された二分決定グラフを生成する二分決定グラフサイズ最適化手段と、
前記二分決定グラフサイズ最適化手段によってサイズが最適化された二分決定グラフをそのまま変換したパストランジスタ論理回路のタイミングを最適化するタイミング最適化手段と、
前記タイミング最適化手段によってタイミングの最適化されたパストランジスタ論理回路のリストを出力するリスト出力手段とを備えたことを特徴とする、パストランジスタ論理回路設計装置。
【請求項３】
前記二分決定グラフサイズ最適化手段は、前記パストランジスタによる冗長な回路を削除してサイズを最適化することを特徴とする、請求項２に記載のパストランジスタ論理回路設計装置。
【請求項４】
前記タイミング最適化手段は、前記パストランジスタの接続されている個数が所定数を超えていれば挿入されるバッファ回路を含むことを特徴とする、請求項２に記載のパストランジスタ論理回路設計装置。
【請求項５】
前記タイミング最適化手段は、前記パストランジスタの接続されている段数が所定数を超えていれば挿入されるバッファ回路を含むことを特徴とする、請求項２に記載のパストランジスタ論理回路設計装置。
【請求項６】
前記タイミング最適化手段は、前記パストランジスタのパラメータを離散化し、その種類を限定することにより組合せの総数を減らすことを特徴とする、請求項２に記載のパストランジスタ論理回路設計装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はパストランジスタ論理回路設計方法およびこれを用いた装置に関し、特に、パストランジスタ論理回路を設計するためのＶｅｒｉｌｏｇネットリストを生成する論理合成ツールによるパストランジスタ論理回路設計方法およびこれを用いた装置に関する。
【０００２】
【従来の技術】
デジタル・システムの設計は、ハードウエア記述言語（Ｈａｒｄｗａｒｅ　Ｄｅｓｃｒｉｐｔｉｏｎ　Ｌａｎｇｕａｇｅ：ＨＤＬ）を用いて行われ、回路図を描くことによる設計と比較して抽象度の高い記述ができるという特徴があり、設計の初期段階からシミュレーションを行うことができ、動作検証や性能検証が可能となる。
【０００３】
デジタル・システムに用いられる論理回路として、従来よりＰＭＯＳトランジスタとＮＭＯＳトランジスタとを相補的に組み合わせたＣＭＯＳ論理回路が多用されている。しかし、ＣＭＯＳ論理回路に比べて、パストランジスタはＮＭＯＳトランジスタまたはＰＭＯＳトランジスタあるいはデュアルゲートＭＯＳトランジスタのみで構成されているため消費電流が小さく、速度が速く、実装面積が小さくなり得るという点で優れている。このようなパストランジスタ論理回路を合成するためにノードと枝からなる二分決定グラフ（Ｂｉｎａｒｙ　Ｄｅｃｉｓｉｏｎ　Ｄｉａｇｒａｍ：以下、ＢＤＤと称する。）が用いられている。
【０００４】
ＢＤＤについては、特開平６―２１５０６５号公報に記載されており、図１３に示すように、３つの入力変数に対してｘ３、ｘ２、ｘ１という固定した順序が与えられている。展開処理入力変数の１つに０および１の論理値を代入することにより、論理関数から２つの部分関数が導出される。たとえば、図１３において入力変数ｘ３に０および１を代入することによって、２つの部分関数が導出される。
【０００５】
ＢＤＤ生成処理順序付けリストによって与えられた順序にしたがって、展開処理をすべての入力変数について繰り返し、図１３に示すような二分木グラフを生成する。図１３において○は中間ノードを示し、□は終端ノードを示す。中間ノードは個々の展開処理に対応するもので、展開処理によって得られた２つの部分関数を指す２本の枝を持っている。また、終端ノードは、一連の展開処理の結果として得られた０または１の論理値を表している。
【０００６】
共有化処理は、図１４（ａ）に示すように、第１の中間ノード１１から出た０の枝と第２の中間ノード１２から出た０の枝が同じ中間ノード１３を指し、かつこれら第１および第２の中間ノード１１および１２は図１４（ｂ）に示すように共有化され、１つの中間ノード１５にまとめられる。
【０００７】
非冗長化処理は、図１５（ａ）に示すように、第１の中間ノード１７から出た０および１の２本の枝が、同じ第２の中間ノード１８を指しているときには図１５（ｂ）に示すように第１の中間ノード１８に直結する。これらの共有化処理と非冗長化処理とによって図１３に示す二分木グラフは、図１６に示すＢＤＤに圧縮される。このように、ＢＤＤを用いて論理関数を表現でき、集合データの表現にも用いることができる。
【０００８】
上述のＢＤＤの表現をもとにパストランジスタの回路を合成した結果のネットリスト（結線情報）は、Ｃａｄｅｎｃｅ社が論理回路シミュレータ用の回路記述言語として開発したＶｅｒｉｌｏｇ―ＨＤＬを用いてＳｉｎｇｌｅ−ｒａｉｌ　Ｐａｓｓ−Ｔｒａｎｓｉｓｔｏｒ　Ｌｏｇｉｃ（ＳＰＬ）を合成する。
【０００９】
【特許文献】
特開平６―２１５０６５号公報（段落番号０００３〜００１０、図１〜図４）
【００１０】
【発明が解決しようとする課題】
パストランジスタ論理回路はその遅延時間のために、指定したクロック周波数で回路が動作できるとは限らない。そこで、バッファ回路を挿入したり、トランジスタのパラメータを調整することにより、指定したクロック周波数で回路が動作できるようにする必要がある。このとき回路の実装面積ができるだけ小さくなるように最適化が行われるが、最適化において遅延時間の算出が不可欠となる。
【００１１】
しかしながら、関係する信号の入力パターンの組合せ総数は非常に多く、最適化に要する時間が膨大になる。従来、パストランジスタの論理回路を合成するために、上述の最適化を自動的に行うツールはほとんど存在しなかった。
【００１２】
それゆえに、この発明の主たる目的は、パストランジスタ論理回路を合成する際に、最適化を自動的に行うことができるパストランジスタ論理回路設計方法およびこれを用いた装置を提供することである。
【００１３】
【課題を解決するための手段】
この発明は、論理回路を構成する素子と入出力の情報とを含むリストからパストランジスタ論理回路を設計するパストランジスタ論理回路設計方法であって、リストから組合せ回路部分の論理式グラフを生成するステップと、生成されたグラフを変換してサイズが最適化された二分決定グラフを生成するステップと、サイズが最適化された二分決定グラフをそのまま変換したパストランジスタ論理回路のタイミングを最適化するステップと、タイミングの最適化されたパストランジスタ論理回路のリストを出力するステップとを備えたことを特徴とする。
【００１４】
他の発明は、論理回路を構成する素子と入出力の情報とを含むリストからパストランジスタ論理回路を設計するパストランジスタ論理回路設計装置であって、リストから組合せ回路部分の論理式グラフを生成するグラフ生成手段と、グラフを変換してサイズが最適化された二分決定グラフを生成する二分決定グラフサイズ最適化手段と、生成された二分決定グラフをそのまま変換したパストランジスタ論理回路のタイミングを最適化するタイミング最適化手段と、タイミングの最適化されたパストランジスタ論理回路のリストを出力するリスト出力手段とを備えたことを特徴とする。
【００１５】
これにより、パストランジスタ論理回路を合成する際に、最適化を自動的に行うことができる。
【００１６】
サイズ最適化手段は、パストランジスタによる冗長な回路削除してサイズを最適化することを特徴とする。このようにサイズを最適化することにより、実装後のパストランジスタ論理回路の面積を小さくできる。
【００１７】
タイミング最適化手段は、パストランジスタの接続されている個数が所定数を超えていれば挿入されるバッファ回路を含むことを特徴とする。
【００１８】
さらに、タイミング最適化手段は、パストランジスタの接続されている段数が所定数を超えていれば挿入されるバッファ回路を含むことを特徴とする。
【００１９】
また、タイミング最適化手段は、パストランジスタのパラメータを離散化し、その種類を限定することにより組合せ総数を減らすことを特徴とする。このようにタイミングを最適化することにより、指定したクロック周波数で動作させることができる。
【００２０】
【発明の実施の形態】
図１はこの発明の一実施形態における全体の動作を説明するためのフローチャートである。まず、図１を参照して、この発明の概略の動作について説明する。図１に示すフローチャートにおいて、たとえばコンピュータが各ステップ（図示ではＳＰと略称する）を処理することにより、この発明が実現される。すなわち、ＳＰ１において、後述の図２に示す入力されたＶｅｒｉｌｏｇネットリストファイルに基づいて、図３に示す論理式グラフが生成される。続いて、ステップＳＰ２において、論理式グラフを変換して図４に示すようなＢＤＤを生成し、冗長回路を削除するなどのアルゴリズムにより、ＢＤＤサイズを小さくし、回路の実装面積をできるだけ小さくする。ステップＳＰ３において、駆動するトランジスタの個数または駆動するトランジスタの直列段数を所定数以下にし、あるいはトランジスタのパラメータを調節するなどのアルゴリズムを用いてタイミングの最適化を行う。このときバッファの個数をできる限り少なくしたり、パラメータを離散化する。ステップＳＰ５においてパストランジスタの論理回路を設計するためのネットリストを出力する。
【００２１】
以下、各処理の実施形態について詳細に説明する。
【００２２】
図２はこの発明の一実施形態で合成される論理回路の入力ネットリストファイルである。図２に示すネットリストにおいて、ｍｏｄｕｌｅ　ａｄｄｅｒ（ｃ０，ｓ１，ｓ０，ａ１，ｂ１，ａ０，ｂ０）はモジュール名とポートリストを定義するとともに、入力信号ａ１，ｂ１，ａ０，ｂ０と、内部信号ｎ０，ｎ１，ｎ２，ｎ３と、論理積演算（ａｎｄ），論理和演算（ｏｒ），排他的論理和演算（ｘｏｒ）と、出力信号ｃｏ，ｓ１，ｓ０を定義している。ｅｎｄｍｏｄｕｌｅはモジュール定義終了を示している。
【００２３】
この入力ネットリストファイルに基づいて論理生成した論理式グラフの一例が図３である。図３において、入力信号ａ１，ｂ１，ａ０，ｂ０は、□の終端ノードで示されており、論理積演算（＊），論理和演算（＋），排他的論理和演算（＾）はそれぞれ○の中間ノード２１〜２７で示されている。
【００２４】
中間ノード２１は入力信号ａ０とｂ０との排他的論理和を求めて出力信号ｓ０を導出し、中間ノード２２は入力信号ａ０とｂ０との論理積を求めて出力信号ｎ０を導出し、中間ノード２３は入力信号ａ１とｂ１との排他的論理和を求めて出力信号ｎ１を導出する。中間ノード２４は入力信号ａ１とｂ１との論理積を求めて出力信号ｎ２を導出し、中間ノード２５は入力信号ｎ０とｎ１との排他的論理和を求めて出力信号ｓ１を導出し、中間ノード２６は入力信号ｎ０とｎ１との論理積を求めて出力信号ｎ３を導出し、中間ノード２７は入力信号ｎ２とｎ３との論理和を求めて出力信号ｃｏを導出する。
【００２５】
図４は図３の論理生成した論理式グラフに対応するＢＤＤを示している。図５は図４に示すＢＤＤの各構成要素に対応するパストランジスタ論理回路構成要素を示す。図４の終端ノード０はＧＮＤに対応し、終端ノード１は電源電圧ＶＤＤに対応している。中間ノードＳは２つの入力Ａ，Ｂと出力Ｙとを有しており、２個のパストランジスタＴ１，Ｔ２に対応する。パストランジスタＴ１，Ｔ２は２−１マルチプレクサを構成しており、各ソースに入力Ａ，Ｂが与えられており、各ドレインは共通接続されて出力Ｙとなり、各ゲートにはＳ´，Ｓ信号が与えられる。ここでＳは論理信号であり、Ｓ´はＳの論理否定信号である。論理信号Ｓが「Ｈ」レベルであれば入力Ｂが出力Ｙとして現れ、論理否定信号Ｓ´が「Ｈ」レベルであれば入力Ａが出力Ｙとして現れる。
【００２６】
図６に示したＢＤＤは図４に示したＢＤＤのｂ０，ｂ０´で関数化して示したものである。図７は図６に示すＢＤＤの各決定グラフ構成要素に対応するパストランジスタ論理回路構成要素を示している。
【００２７】
図８は図４のＢＤＤに対応するパストランジスタ論理回路を示す図である。図４に示した各ノード３１〜４１は、それぞれが２−１のマルチプレクサＵ０〜Ｕ１０を構成するパストランジスタＴ１１，Ｔ１２〜Ｔ３１，Ｔ３２の組合せで構成されている。すなわち、マルチプレクサＵ９のパストランジスタＴ２９，Ｔ３０各ゲートには入力信号ｂ０´，ｂ０が与えられており、一方のパストランジスタＴ２９のソースは電源ＶＤＤに接続され、他方のパストランジスタＴ３０のソースはＧＮＤに接続され、各ドレインはノードＮ１に共通接続されている。マルチプレクサＵ１０のパストランジスタＴ３１，Ｔ３２の各ゲートには入力信号ｂ０´，ｂ０が与えられており、一方のパストランジスタＴ３１のソースはＧＮＤに接続され、他方のパストランジスタＴ３２のソースは電源ＶＤＤに接続され、各ドレインはノードＮ２に共通接続されている。
【００２８】
マルチプレクサＵ０のパストランジスタＴ１１，Ｔ１２の各ゲートには入力信号ａ０´，ａ０が与えられており、一方のパストランジスタＴ１１のソースはノードＮ２に接続され、他方のパストランジスタＴ１２のソースはノードＮ１に接続され、各ドレインは出力信号ｓ０を出力する。マルチプレクサＵ１のパストランジスタＴ１３，Ｔ１４の各ゲートには入力信号ａ０´，ａ０が与えられており、一方のパストランジスタＴ１３のソースは電源ＶＤＤに接続され、他方のパストランジスタＴ１４のソースはノードＮ１に接続され、各ドレインはノードＮ３に共通接続されている。マルチプレクサＵ２のパストランジスタＴ１５，Ｔ１６の各ゲートには入力信号ａ０´，ａ０が与えられており、一方のパストランジスタＴ１５のソースはＧＮＤに接続され、他方のパストランジスタＴ１６のソースはノードＮ２に接続され、各ドレインはノードｎ４に接続される。
【００２９】
マルチプレクサＵ３のパストランジスタＴ１７，Ｔ１８の各ゲートには入力信号ｂ１´，ｂ１が与えられており、一方のパストランジスタＴ１７のソースはノードＮ３に接続され、他方のパストランジスタＴ１８のソースはノードＮ４に接続され、各ドレインはマルチプレクサＵ７のパストランジスタＴ２６のソースに共通接続されている。マルチプレクサＵ４のパストランジスタＴ１９，Ｔ２０の各ゲートには入力信号ｂ１´，ｂ１が与えられており、一方のパストランジスタＴ１９のソースはノードＮ４に接続され、他方のパストランジスタＴ２０のソースはノードＮ３に接続され、各ドレインはマルチプレクサＵ７のパストランジスタＴ２５のソースに共通接続されている。
【００３０】
マルチプレクサＵ５のパストランジスタＴ２１，Ｔ２２の各ゲートには入力信号ｂ１´，ｂ１が与えられており、一方のパストランジスタＴ２１のソースはノードＮ４に接続され、他方のパストランジスタＴ２２のソースは電源ＶＤＤに接続され、各ドレインはマルチプレクサＵ８のパストランジスタＴ２８のソースに共通接続されている。マルチプレクサＵ６のパストランジスタＴ２３，Ｔ２４の各ゲートには入力信号ｂ１´，ｂ１が与えられており、一方のパストランジスタＴ２３のソースはＧＮＤに接続され、他方のパストランジスタＴ２４のソースはノードＮ４に接続され、各ドレインはマルチプレクサＵ８のパストランジスタＴ２７のソースに共通接続されている。
【００３１】
マルチプレクサＵ７のパストランジスタＴ２５，Ｔ２６の各ゲートには入力信号ａ１´，ａ１が与えられており、各ドレインは出力信号ｓ１を導出する。マルチプレクサＵ８のパストランジスタＴ２７，Ｔ２８の各ゲートには入力信号ａ１´，ａ１が与えられており、各ドレインは出力信号ｃｏを導出する。
【００３２】
このように構成された論理回路において、入力信号ａ１，ａ１´，ｂ１，ｂ１´，ａ０，ａ０´，ｂ０，ｂ０´に応じて論理演算が実行されると、出力信号ｃｏ，ｓ１，ｓ０が導出される。
【００３３】
図９は図８に示すパストランジスタ論理回路から冗長なマルチプレクサを削除した論理回路を示す図である。図１で説明したステップＳＰ２におけるＢＤＤのサイズを小さくするために冗長な回路を削除して論理回路の面積を小さくする。すなわち、図８に示したマルチプレクサＵ９，Ｕ１０を構成するパストランジスタＴ２９〜Ｔ３２は、ノードＮ１，Ｎ２に対し電源ＶＤＤまたはＧＮＤを供給するだけの機能を有しているに過ぎず、省略しても何ら全体の機能に影響を与えることはない冗長な回路となっている。
【００３４】
このような冗長な回路が存在すると、パストランジスタ論理回路の面積が大きくなってしまう。そこで、マルチプレクサＵ９，Ｕ１０を構成するパストランジスタＴ２９〜Ｔ３２からなる冗長な回路を削除することにより、サイズを小さくする。そして、入力信号ｂ０´をノードＮ１に与え、入力信号ｂ０をノードＮ２に与える。
【００３５】
図１０は出力側に位置するパストランジスタ数を示す図である。図１のステップＳＰ３で説明したＢＤＤのタイミングの最適化を行うための一実施形態として、パストランジスタの接続されている個数を評価する。すなわち、図１０中に示す数字は、接続されているパストランジスタの個数を示している。マルチプレクサＵ７、Ｕ８の出力にはパストランジスタが接続されておらず「０」が示されている。マルチプレクサＵ３〜Ｕ６のそれぞれの出力には１個のパストランジスタＴ２６，Ｔ２５，Ｔ２８，Ｔ２７のみが接続されているので「１」が示されている。
【００３６】
マルチプレクサＵ２の出力には、８個のパストランジスタＴ２４，Ｔ２７，Ｔ２１，Ｔ２８，Ｔ１９，Ｔ２５，Ｔ１８，Ｔ２６が接続されているので「８」が示されている。マルチプレクサＵ１の出力には、４個のパストランジスタＴ２０，Ｔ２５，Ｔ１７，Ｔ２６が接続されているので「４」が示され、マルチプレクサＵ０の出力にはパストランジスタが接続されていないので「０」が示されている。
【００３７】
入力信号ｂ０´には６個のパストランジスタＴ１４，Ｔ１７，Ｔ２６，Ｔ２０，Ｔ２５，Ｔ１２が接続されているので「６」が示されており、入力信号ｂ０には１０個のパストランジスタＴ１６，Ｔ２４，Ｔ２７，Ｔ２１，Ｔ２８，Ｔ１９，Ｔ２５，Ｔ１８，Ｔ２６、Ｔ１１が接続されているので「１０」が示されている。電源ＶＤＤには７個のパストランジスタＴ２２，Ｔ２８，Ｔ１３，Ｔ２０，Ｔ２５，Ｔ１７，Ｔ２６が接続されているので「７」が示されており、ＧＮＤには１０個のパストランジスタＴ２３，Ｔ２７，Ｔ１５，Ｔ２４，Ｔ２１，Ｔ２８，Ｔ１９，Ｔ２５，Ｔ１８，Ｔ２６が接続されているので「１０」が示されている。
【００３８】
接続されているパストランジスタの個数が増えると、遅延時間が長くなってしまい、指定したクロック周波数で動作できなくなるおそれがある。そこで、パストランジスタが接続されている個数が所定の個数以上になれば、バッファ回路を挿入する。
【００３９】
図１１は図１０に示す論理回路にバッファを挿入した論理回路図である。この実施形態では、たとえばパストランジスタが４個以上接続されているとバッファ回路を挿入する。図１１に示すようにマルチプレクサＵ２とＵ５，Ｕ６との間、マルチプレクサＵ３とＵ７との間、マルチプレクサＵ４とＵ７との間、マルチプレクサＵ６とＵ８との間にそれぞれバッファ回路Ｂ１，Ｂ２，Ｂ３，Ｂ４を接続する。これにより、図１１中の数字で示されているように、パストランジスタの接続されている個数を減らすことができる。たとえば、入力信号ｂ０に接続されるパストランジスタの個数が１０個から２個に減少し、ＧＮＤに接続されるパストランジスタも１０個から２個に減少し、電源ＶＤＤに接続されるパストランジスタも７個から５個に減少している。このように接続されるパストランジスタの個数を減らすことにより、動作を安定化させることができる。
【００４０】
なお、上述の説明では、接続されるパストランジスタの個数が所定以上あればバッファ回路を挿入するようにしたが、これに限ることなく、直列接続されるパストランジスタの段数が所定数以上あればバッファ回路を挿入するようにしてもよい。パストランジスタは直列接続されるとしきい値電圧分だけ信号レベルが劣化し、誤動作を引き起こすため、レベル回復用のバッファ回路を挿入することで動作の信頼性を向上できる。
【００４１】
さらに、遅延時間を調整するために、バッファ回路を挿入することなく、パストランジスタのパラメータを調整するようにしてもよい。ここで、パラメータとしてはＭＯＳトランジスタのチャネル幅，チャネル長，ゲート幅，ゲート長などである。
【００４２】
また、トランジスタのパラメータを離散化し、その種類を限定することにより、組合せ総数を減らすようにしてもよい。
【００４３】
図１２は出力されるネットリストの一例を示す図である。この図１２に示す出力ネットリストは図１１に示す論理回路の接続状態を記述したものである。すなわち、ｏｕｔｐｕｔは出力信号ｃｏ，ｓ１，ｓ０を定義し、ｉｎｐｕｔは入力信号ａ１，ｂ１，ａ０，ｂ０を定義し、ｗｉｒｅは内部信号を定義している。ｉｎｖはｂ０，ａ０，ｂ１，ａ１の論理否定演算を定義し、ｍｕｘＵ０〜Ｕ８はマルチプレクサＵ０〜Ｕ８を定義し、ｂｕｆｆはバッファ回路Ｂ１〜Ｂ４を定義している。
【００４４】
ｍｏｄｕｌｅ　ｍｕｘはポートＹ，Ａ，Ｂ，Ｓ，ＳＢを有し、出力信号がＹ、入力信号がＡ，Ｂ，Ｓ，ＳＢ、２個のｎｍｏｓによって回路構成されているマルチプレクサを定義している。
【００４５】
ｍｏｄｕｌｅ　ｂｕｆｆはポートＺ，ＺＮ，Ｉを有し、出力信号がＺ，ＺＮ、入力信号がＩ、インバータによって回路構成されているバッファ回路を定義している。
【００４６】
ｍｏｄｕｌｅ　ｉｎｖｂはポートＺＮ，Ｉを有し、出力信号がＺＮ、入力信号がＩ、ｐｍｏｓインバータによって回路構成されているインバータ回路を定義している。
【００４７】
ｍｏｄｕｌｅ　ｉｎｖはポートＺＮ，Ｉを有し、出力信号がＺＮ、入力信号がＩ、ｐｍｏｓ，ｎｍｏｓインバータによって回路構成されているインバータ回路を定義している。
【００４８】
図面を参照してこの発明の一実施形態を説明したが、本発明は、図示した実施形態に限定されるものではない。本発明と同一の範囲内において、または均等の範囲内において、図示した実施形態に対して種々の変更を加えることが可能である。
【００４９】
【発明の効果】
以上のように、この発明によれば、リストから組合せ回路部分の論理式グラフを生成し、生成されたグラフを変換してサイズが最適化されたＢＤＤを生成し、所定のアルゴリズムを用いて、生成されたＢＤＤをそのまま変換したパストランジスタ論理回路のタイミングを最適化し、サイズおよびタイミングの最適化されたパストランジスタ論理回路のリストを出力するようにしたので、関係する信号の入力パターンの組合せ総数が非常に多くても、パストランジスタ論理回路を合成する際に、回路の実装面積ができるだけ小さくなるように最適化を自動的に行うことができる。
【図面の簡単な説明】
【図１】この発明の一実施形態の動作を説明するためのフローチャートである。
【図２】この発明の一実施形態で合成される論理回路のネットリストファイルである。
【図３】図２のネットリストファイルで生成した論理式グラフの一例を示す図である。
【図４】図３の論理式グラフを変換し、サイズが最適化されたＢＤＤを示す図である。
【図５】論理回路構成に対応するＢＤＤ構成要素を示す図である。
【図６】図４に示したＢＤＤを変形した二分決定グラフを示す図である。
【図７】図６の二分決定グラフ構成要素に対応する論理回路構成要素を示す図である。
【図８】図４のＢＤＤに対応するパストランジスタ論理回路を示す図である。
【図９】図８に示すパストランジスタ論理回路から冗長なマルチプレクサを削除した論理回路を示す図である。
【図１０】出力側に位置するパストランジスタ数を示す図である。
【図１１】図１０に示す論理回路にバッファを挿入した論理回路図である。
【図１２】出力されるネットリストの一例を示す図である。
【図１３】二分木グラフ生成処理順序付け処理によって与えられた二分木グラフである。
【図１４】共有化した二分木グラフを示す図である。
【図１５】非冗長化処理により中間ノードを直結した例を示す図である。
【図１６】圧縮されたＢＤＤを示す図である。
【符号の説明】
２１〜２７，３１〜４１　ノード、Ｕ０〜Ｕ１０　マルチプレクサ、Ｔ１，Ｔ２，Ｔ１１〜Ｔ３２　パストランジスタ、Ｂ１〜Ｂ４　バッファ回路。
【図１】
2004145402.tif 000003
【図２】
2004145402.tif 000004
【図３】
2004145402.tif 000005
【図４】
2004145402.tif 000006
【図５】
2004145402.tif 000007
【図６】
2004145402.tif 000008
【図７】
2004145402.tif 000009
【図８】
2004145402.tif 000010
【図９】
2004145402.tif 000011
【図１０】
2004145402.tif 000012
【図１１】
2004145402.tif 000013
【図１２】
2004145402.tif 000014
【図１３】
2004145402.tif 000015
【図１４】
2004145402.tif 000016
【図１５】
2004145402.tif 000017
【図１６】
2004145402.tif 000018