(57)【要約】【課題】入力段を転送ゲートで構成したセルをライブラリーに登録してスタンダードセル方式により自動レイアウト設計することを実用化可能にする。【解決手段】入力段に転送ゲートを含むセルが登録され該転送ゲートがオフ時及びオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリ、ネットリスト、及び、該転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値を、記憶装置に格納しておき、セルを自動配置した後に（Ｓ１）、該転送ゲートのオン時入力波形のスルーレートが所定値以上であるか（Ｓ５）、該転送ゲートがオフ時のＤフリップフロップでのホールドタイムが所定値以下である場合、レイアウトを修正し（Ｓ６、Ｓ７）、自動配線し、該配線の長さが該許容最大値を越えた場合、レイアウトを修正する。【選択図】　　　　　図２
2004039745.tif 000002
【特許請求の範囲】
【請求項１】
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求め、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求め、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させる、
ことを特徴とする自動配置方法。
【請求項２】
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求め、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入する、
ことを特徴とする自動配置方法。
【請求項３】
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時及びオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求め、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求め、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させ、又は、該転送ゲートのデータ信号入力端のノードにバッファセルを挿入し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求め、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入する、
ことを特徴とする自動配置方法。
【請求項４】
該転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値を定め、
請求項１乃至３のいずれか１つに記載の自動配置方法を実行してセル配置データを取得し、
該セル配置データ及び該ネットリストに基づいてセル間を自動配線し、
該転送ゲートのデータ信号入力端に接続される配線の長さが該該許容最大値を越えている場合にはエラーを出力するステップをさらに有することを特徴とする自動配置配線方法。
【請求項５】
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリ、該転送ゲートを含む複数のセルの結合関係を示すネットリスト、及び、プログラムが格納された記憶装置と、
該記憶装置に結合されたプロセッサとを有し、
該プログラムは該プロセッサに対し、
該セルライブラリを参照させて該ネットリスト中の複数のセルを自動配置させ、
該セルライブラリ及び該ネットリストを参照させて、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求めさせ、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求めさせ、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させる、
ことを特徴とする自動配置装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動配置方法及び装置並びに自動配置配線方法及び装置に係り、自動配置方法及び装置並びに自動配置配線方法及び装置に関する。
【０００２】
【従来の技術】
従来のスタンダードセル方式の自動配置配線方法では、セルライブラリに登録できるセルの条件として、セル入力端子がトランジスタのゲートで構成されている必要があった。
【０００３】
例えば図１０（Ａ）に示すセレクタセル１０は、２入力のナンドゲート１１〜１３の出力が３入力のナンドゲート１４に接続され、ナンドゲート１１〜１３の一方の入力端にそれぞれデータ信号ＤＡＴＡ１〜ＤＡＴＡ３が供給され、他方の入力端にそれぞれ選択信号ＳＥＬ１〜ＳＥＬ３が供給される。例えば選択信号ＳＥＬ１が高レベル、選択信号ＳＥＬ２及びＳＥＬ３が低レベルのとき、ナンドゲート１４の出力ＤＡＴＡはデータ信号ＤＡＴＡ１に等しくなる。ナンドゲート１１〜１４は例えばＭＯＳトランジスタで構成されており、ナンドゲート１１〜１４の入力端はトランジスタのゲートである。
【０００４】
図１０（Ｂ）はナンドゲート１４の回路を示す。
【０００５】
この回路では、ＰＭＯＳトランジスタＱ１〜Ｑ３が並列接続され、これにＮＭＯＳトランジスタＱ４〜Ｑ６が直列接続され、ＰＭＯＳトランジスタＱ１及びＮＭＯＳトランジスタＱ４のゲートに信号ＳＧ１が供給され、ＰＭＯＳトランジスタＱ２及びＮＭＯＳトランジスタＱ５のゲートに信号ＳＧ２が供給され、ＰＭＯＳトランジスタＱ３及びＮＭＯＳトランジスタＱ６のゲートに信号ＳＧ３が供給される。信号ＳＧ１が低レベル、信号ＳＧ２及びＳＧ３が高レベルのとき、ＰＭＯＳトランジスタＱ１、ＮＭＯＳトランジスタＱ５及びＱ６がオン、ＰＭＯＳトランジスタＱ２、Ｑ３及びＮＭＯＳトランジスタＱ４がオフであり、データ信号ＤＡＴＡが高レベルになる。この状態から信号ＳＧ１が高レベルに遷移すると、ＰＭＯＳトランジスタＱ１がオフ、ＮＭＯＳトランジスタＱ４がオンになり、出力配線上の電荷がＮＭＯＳトランジスタＱ４〜Ｑ６を通って放電され、データ信号ＤＡＴＡが低レベルになる。
【０００６】
ナンドゲート１４において信号が３段のトランジスタを通り、さらに前段のナンドゲート１１〜１３において１段又は２段のトランジスタを信号が通るので、動作速度が遅くなる原因となる。
【０００７】
動作を高速化するために、セレクタセル１０の入力段を転送ゲートで構成すると、オンとオフとで入力容量の差が大きいので、転送ゲートがオンのときに波形に鈍りが生じて、かえって信号が遅延することもある。また、Ｄフリップフロップのデータ信号入力端子のパスに転送ゲートの入力端が接続されている場合、転送ゲートがオンであるかオフであるかによりフリップフロップのホールドタイムが大きく異なる。
【０００８】
したがって、セレクタセル１０の入力段を転送ゲートで構成すると、タイミングエラーが生じ易く、自動配置配線後にタイミングエラーの検出とマニュアル修正を含むレイアウト修正とが繰り返し行われ、処理時間が長くなる。
【０００９】
【発明が解決しようとする課題】
そこで、従来では、入力段を転送ゲートで構成したセルをライブラリーに登録して用いることは、実用的でなく、避けられていた。
【００１０】
本発明の目的は、このような問題点に鑑み、入力段を転送ゲートで構成したセルをライブラリーに登録してスタンダードセル方式により自動レイアウト設計することを実用化可能な自動配置方法及び装置並びに自動配置配線方法及び装置を提供することにある。
【００１１】
【課題を解決するための手段及びその作用効果】
本発明による自動配置方法の一態様では、
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求め、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求め、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させ、又は、該転送ゲートのデータ信号入力端のノードにバッファセルを挿入する。
【００１２】
この構成によれば、自動配線前に、オン時の容量値が比較的大きい転送ゲートの入力波形のスルーレートエラーを解消する処理を行っているので、自動配線後のタイミングエラーのチェック及び配置配線修正の繰り返し処理時間を短縮することができる。これは、入力段を転送ゲートで構成したセルをライブラリーに登録してスタンダードセル方式により自動レイアウト設計することを実用化するのに大きく寄与する。
【００１３】
本発明による自動配置方法の他の態様では、
入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求め、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入する。
【００１４】
この構成によれば、自動配線前の、オフ時の容量値が比較的小さい転送ゲートによるホールドエラーを解消する処理を行っているので、自動配線後に検出されるタイミングエラーの発生を少なくすることができ、これにより、自動配線後のタイミングエラー検出とエラー修正のためのセル及び配線の移動の処理の繰り返しに要する時間を短縮することが可能となる。これは、入力段を転送ゲートで構成したセルをライブラリーに登録してスタンダードセル方式により自動レイアウト設計することを実用化するのに大きく寄与する。
【００１５】
本発明による自動配置方法のさらに他の態様では、上記いずれかの態様において、
該転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値を定め、
該自動配置方法を実行してセル配置データを取得し、
該セル配置データ及び該ネットリストに基づいてセル間を自動配線し、
該転送ゲートのデータ信号入力端に接続される配線の長さが該該許容最大値を越えている場合にはエラーを出力するステップをさらに有する。
【００１６】
この構成によれば、転送ゲートのデータ信号入力端に接続される配線の長さを他の配線長よりも厳しくチェックするので、自動配線後のタイミングエラー発生数を低減してタイミングエラーのチェックとレイアウト修正の繰り返しに要する時間を短縮することができる。これは、入力段を転送ゲートで構成したセルをライブラリーに登録してスタンダードセル方式により自動レイアウト設計することを実用化するのに大きく寄与する。
【００１７】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を説明する。
【００１９】
図１は、本発明の一実施形態の自動配置配線装置のハードウエア構成を示す概略ブロック図である。
【００２０】
この装置は、コンピュータ２０に入力装置２１、表示装置２２及び外部記憶装置が接続されたコンピュータシステムである。この外部記憶装置には、ネットリスト２３、セルライブラリ２４及び制約条件２５が格納され、レイアウト結果２６の格納領域が確保されている。セルライブラリ２４には、入力段を転送ゲートで構成したセルも登録されている。
【００２１】
図５（Ａ）は、入力段を転送ゲートで構成したセルとしてセレクタセル１０Ａを示す。
【００２２】
このセルでは、入力段に転送ゲート３１〜３３が配置されており、転送ゲート３１〜３３の電流路一端がセルのデータ信号入力端となっている。転送ゲート３１〜３３はいずれも、ＰＭＯＳトランジスタとＮＭＯＳトランジスタとが並列接続された構成である。転送ゲート３１〜３３のＮＭＯＳトランジスタのゲートにはそれぞれ選択信号ＳＥＬ１〜ＳＥＬ３が直接供給され、転送ゲート３１〜３３のＰＭＯＳトランジスタのゲートにはそれぞれ選択信号ＳＥＬ１〜ＳＥＬ３がインバータ３４〜３６を介して供給される。転送ゲート３１〜３３のデータ信号出力端はいずれも、出力バッファ３７の入力端に接続されている。出力バッファ３７は、例えばＣＭＯＳインバータが偶数個縦続接続された構成である。転送ゲート３１は、選択信号ＳＥＬ１が高レベルのときオン、低レベルのときオフになる。転送ゲート３２及び３３についても同様である。
【００２３】
図５（Ｂ）は、入力段を転送ゲートで構成した他のセレクタセル１０Ｂを示す。
【００２４】
このセルでは、転送ゲート４１〜４３がいずれもＮＭＯＳトランジスタで構成されている。以下の例では、簡単化のためにセレクタセル１０Ｂが図１のセルライブラリ２４に登録されているとする。
【００２５】
転送ゲート４１〜４３のデータ信号出力端と出力バッファ３７の入力端とが接近しており、かつ、出力バッファ３７によりその入力波形が整形されるので、信号波形の鈍りや信号遅延に関しては、転送ゲート４１〜４３のデータ信号入力側のみ考慮すればよい。
【００２６】
セルライブラリ２４には、セレクタセル１０Ｂの属性として転送ゲート４１〜４３の各々のオン時及びオフ時の入力容量値が格納されている。
【００２７】
制約条件２５には、自動配置配線後にタイミングエラーが検出されるのを予め避けるために、転送ゲートの入力波形のスルーレート許容最小値（スルーレートエラー判定値）、及び、転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値（配線長エラー判定値）が格納されている。
【００２８】
図２〜図４は、図１のコンピュータ２０の記憶装置に格納されている自動配置配線プログラムの内容を示す概略フローチャートである。図２〜図４は、主にセレクタセル１０Ｂに関係した部分の処理を示している。
【００２９】
（Ｓ１）ネットリスト２３及びセルライブラリ２４に基づき、所定の評価関数値が最大又は最小になるようにセルを自動配置する。
【００３０】
図６は、配置されたセルの一部の概略を示す。セル間は未だ配線されていないが、図６では接続関係を示すために配線が記載されている。この点は、図７及び図８についても同様である。
【００３１】
Ｄフリップフロップ５０のデータ出力端Ｑは、論理セル５１、５２及び５３を介してＤフリップフロップ５４のデータ入力端Ｄに接続される。論理セル５２の出力ノードは、転送ゲート４１の入力ノードに接続される。転送ゲート４２の入力ノードは、論理セル５５の出力ノードに接続される。
【００３２】
（Ｓ２）入力段に転送ゲートを含むセルを１つ見つけ出す。
【００３３】
（Ｓ３）入力段に転送ゲートを含む全てのセルについて以下のスルーレートエラーチェック及びエラー解消処理が終了していなければステップＳ４へ進み、そうでなければ図３のステップＳ８へ進む。
【００３４】
（Ｓ４）このセルに含まれている各転送ゲートについて、転送ゲートがオン時の入力波形のスルーレートを静的解析により実質的に求める。
【００３５】
例えば図６の転送ゲート４１については、転送ゲート４１がオン時のデータ信号入力端の容量値をセルライブラリ２４から読み出し、転送ゲート４１の入力ノードに接続されている論理セル５２及び５３を、ネットリスト２３を参照して見つけ出し、論理セル５２の出力及び論理セル５３の入力の容量値をセルライブラリ２４から読み出し、レイアウト結果２６に格納されているセレクタセル１０Ｂ、論理セル５２及び５３の配置からこれらの間の仮配線に基づいて、転送ゲート４１のデータ信号入力端に接続された配線の容量及び抵抗の値を求め、これらに基づいて入力波形のスルーレートを算出する。入力波形のスルーレートは、実質的に求めればよく、例えば波形の立ち上がり時間を求めてもよい。
【００３６】
（Ｓ５）実質的にスルーレートが所定値以上であれば、例えばこの立ち上がり時間が、制約条件２５に格納されているスルーレートエラー判定値１００ｐｓ以下であれば、ステップＳ２へ戻り、そうでなければステップＳ６へ進む。
【００３７】
（Ｓ６）スルーレートエラー解消のために、着目転送ゲートの前段のセルを、この転送ゲートの近くまで移動させる。例えば図６の場合、論理セル５２を転送ゲート４１側へ移動させて図７に示す如くする。
【００３８】
（Ｓ７）ステップＳ６でのセル移動により他のセルと重なる場合には、他のセルを移動させてセルが重ならないようにする。例えば図６の論理セル５５は、図７に示すように移動される。
【００３９】
図２では簡単化の為にステップＳ６とＳ７の処理が１回行われるように記載されているが、実際にはステップＳ６とステップＳ７のレイアウト修正処理は、スルーレートエラーが解消されるまで繰り返され、所定回数繰り返し又は所定時間経過しても終了しない場合には表示装置２２にエラー箇所を表示してマニュアル修正させる。このレイアウト修正は、レイアウト結果２６に対して行われる。次にステップＳ２へ戻る。
【００４０】
ステップＳ６で転送ゲートのデータ信号入力端のノードにバッファセルを挿入しないので、無駄なバッファセルの挿入によるチップ面積の増大を避けることができる。
【００４１】
また、自動配線前にスルーレートエラー解消処理を行っているので、自動配線後のタイミングエラーのチェック及び配置配線修正の繰り返し処理時間を短縮することができる。
【００４２】
（Ｓ８）入力段に転送ゲートを含むセルを１つ見つけ出す。
【００４３】
（Ｓ９）入力段に転送ゲートを含む全てのセルについて以下のホールドエラーチェック及びエラー解消のためのレイアウト修正が終了していなければステップＳ１０へ進み、そうでなければ図４のステップＳ１３へ進む。
【００４４】
（Ｓ１０）このセルに含まれる各転送ゲートについて、転送ゲートのデータ信号入力ノードを含むパスのうち、２つのＤフリップフロップ間のパスを見つけ、ホールドタイムを静的解析する。
【００４５】
例えば図７において、転送ゲート４１の入力ノードが含まれるＤフリップフロップ５０と５４の間のパスを見つける。Ｄフリップフロップ５０のデータ出力端Ｑ及びＤフリップフロップ５４のデータ入力端Ｄの信号をそれぞれＤＡＴＡ０及びＤＡＴＡ４とする。転送ゲート４１がオンのとき、オフのときよりも容量値が大きいので、データ信号ＤＡＴＡ４の遅延時間も長くなる。転送ゲート４１がオフ及びオンのときのデータ信号ＤＡＴＡ４をぞれぞれデータ信号ＤＡＴＡ４ａ及びＤＡＴＡ４ｂで表す。
【００４６】
図９（Ａ）は、Ｄフリップフロップ５０及び５４のクロック入力端Ｃに供給されるクロック信号ＣＬＫと上記データ信号ＤＡＴＡ０、ＤＡＴＡ４ａ及びＤＡＴＡ４ｂを示す。信号値Ｄ１Ａは、データ信号ＤＡＴＡ０の値Ｄ１が論理セル５１〜５４で他の信号と共に処理され、バッファセル５６を通りデータ信号ＤＡＴＡ４としてＤフリップフロップ５４のデータ入力端Ｄに到達した信号の値である。
【００４７】
クロック信号ＣＬＫの立ち上がりからデータ信号ＤＡＴＡ４が変化するまでの時間であるホールドタイムＨＴは、転送ゲート４１がオンのときのホールドタイムＨＴ２よりもオフのときのホールドタイムＨＴ１の方が小さく、これが設定値以下であればホールドエラーとなる。そこで、着目パスの容量及び抵抗の値に基づいた静的解析により、ホールドタイムＨＴ１を求める。
【００４８】
（Ｓ１１）求めたホールドタイムが設定値以上であればステップＳ８へ進み、そうでなければステップＳ１２へ進む。
【００４９】
（Ｓ１２）上記２つのＤフリップフロップ間のパスに遅延用バッファセルを挿入する。
【００５０】
例えば図８に示すように、Ｄフリップフロップ５４とその前段の論理セル５３との間に、セルライブラリ２４に登録されているバッファセル５６を挿入する。このレイアウト修正は、ネットリスト２３及びレイアウト結果２６に対して行われる。
【００５１】
これにより、データ信号ＤＡＴＡ４ａ及びＤＡＴＡ４ｂが遅延して図９（Ｂ）に示す如くなる。ステップＳ１２では、データ信号ＤＡＴＡ４ａが設定値以上にならない場合、さらにバッファセルを追加挿入し又はサイズがより大きいバッファセルに変更して、ホールドタイムＨＴ３が設定以上になるようにする。
【００５２】
次にステップＳ８へ戻る。
【００５３】
自動配線前のこのようなホールドエラー解消処理により、自動配線後に検出されるタイミングエラーの発生を少なくすることができ、これにより、自動配線後のタイミングエラー検出とエラー修正のためのセル及び配線の移動の処理の繰り返しに要する時間を短縮することが可能となる。
【００５４】
（Ｓ１３）セル間を自動配線し、その結果をレイアウト結果２６に格納する。
【００５５】
（Ｓ１４）セル間配線のデータを読み出す。
【００５６】
（Ｓ１５）全ての配線長について以下の配線長エラーチェック及びエラー解消のためのレイアウト修正が終了していれば処理を終了し、そうでなければステップＳ１６へ進む。
【００５７】
（Ｓ１６）読み出した配線の長さを求める。
【００５８】
（Ｓ１７）配線長が設定値以下であればステップＳ１４へ進み、そうでなければステップＳ１８へ進む。
【００５９】
転送ゲートがオンのときの入力容量が比較的大きいので、転送ゲートのデータ信号入力端に接続された配線については、トランジスタのゲートに接続された配線よりもこの設定値が小さく、例えば１００μｍであり、ゲートに接続された配線のそれの例えば１／３である。この設定値は、制約条件２５に格納されている。
【００６０】
（Ｓ１８）配線長エラー箇所が表示装置２２に表示され、設計者はマニュアルによりセル又は／及び配線を移動させ、又はバッファセルを挿入するレイアウトを修正を行って、配線長が設定値以下になるようにする。このレイアウト修正は、バッファセルを挿入する場合にはネットリスト２３及びレイアウト結果２６に対して行われ、セル又は／及び配線の配置のみ変更する場合にはレイアウト結果２６に対して行われる。
【００６１】
このように、転送ゲートのデータ信号入力端に接続される配線の長さを他の配線長よりも厳しくチェックするので、自動配線後のタイミングエラー発生数を低減してタイミングエラーのチェックとレイアウト修正の繰り返しに要する時間を短縮することができる。
【００６２】
（Ｓ１９）従来と同様に、クロストークエラー、アンテナエラー及びタイミングエラー等のその他のエラーをチェックし、エラー解消のためのレイアウト修正を行なう。
【００６３】
本実施形態によれば、転送ゲートがオンのときの入力容量値に基づいて、転送ゲート入力波形のスルーレートが設定値以上になるように前段のセルを転送ゲートに近づけ、転送ゲートがオフ時の入力容量に基づいて、ホールドエラーが生じないようにバッファセルを挿入し、さらに、転送ゲートのデータ信号入力端に接続される配線の長さを他の配線長よりも厳しくチェックするので、自動配線後のタイミングエラー発生数を低減してタイミングエラーのチェックとレイアウト修正の繰り返しに要する時間を短縮することができ、これにより、入力段に転送ゲートを備えたセルをセルライブラリに登録して用いることが実用上可能となり、より高速に動作する回路を設計することが可能となる。
【００６４】
なお、本発明には外にも種々の変形例が含まれる。
【００６５】
例えば、上記実施形態では入力段に転送ゲートが配置されているセルとしてセレクタを説明したが、入力段に転送ゲートが配置されその出力を出力段で波形整形するセルであればよく、イクスクルーシブオアゲートなどの論理ゲートやインクリメンタ等のセルであってもよい。
【００６６】
また、図２のステップＳ６において、前段のセルを移動させる替わりに、転送ゲートのデータ信号入力端のノードに、好ましくは該データ信号入力端に接近して、バッファセルを挿入する構成であってもよい。
【００６７】
以上の説明から明らかなように、本発明には以下の付記が含まれる。
【００６８】
（付記１）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求め、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求め、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させる、
ことを特徴とする自動配置方法。（１）
（付記２）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求め、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入する、
ことを特徴とする自動配置方法。（２）
（付記３）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時及びオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリを参照して、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト中の該複数のセルを自動配置し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求め、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求め、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させ、又は、該転送ゲートのデータ信号入力端のノードにバッファセルを挿入し、
該セルライブラリ及び該ネットリストを参照して、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求め、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入する、
ことを特徴とする自動配置方法。（３）
（付記４）該転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値を定め、
付記１乃至３のいずれか１つに記載の自動配置方法を実行してセル配置データを取得し、
該セル配置データ及び該ネットリストに基づいてセル間を自動配線し、
該転送ゲートのデータ信号入力端に接続される配線の長さが該該許容最大値を越えている場合にはエラーを出力するステップをさらに有することを特徴とする自動配置配線方法。（４）
（付記５）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリ、該転送ゲートを含む複数のセルの結合関係を示すネットリスト、及び、プログラムが格納された記憶装置と、
該記憶装置に結合されたプロセッサとを有し、
該プログラムは該プロセッサに対し、
該セルライブラリを参照させて該ネットリスト中の複数のセルを自動配置させ、
該セルライブラリ及び該ネットリストを参照させて、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求めさせ、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求めさせ、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させ、又は、該転送ゲートのデータ信号入力端のノードにバッファセルを挿入させる、
ことを特徴とする自動配置装置。（５）
（付記６）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリ、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト、及び、プログラムが格納された記憶装置と、
該記憶装置に結合されたプロセッサとを有し、
該プログラムは該プロセッサに対し、
該セルライブラリを参照させて該ネットリスト中の複数のセルを自動配置させ、
該セルライブラリ及び該ネットリストを参照させて、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求めさせ、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入させる、
ことを特徴とする自動配置装置。
【００６９】
（付記７）入力段に転送ゲートを含み出力段に該転送ゲートの出力を波形整形する回路を含むセルが登録され該転送ゲートがオフ時及びオン時の該転送ゲートのデータ信号入力端の容量値を該セルの属性として含むセルライブラリ、第１フリップフロップのデータ出力端が論理セルを介して一方では第２フリップフロップのデータ入力端に結合され他方では転送ゲートのデータ信号入力端に接続された回路を含む複数のセルの結合関係を示すネットリスト、及び、プログラムが格納された記憶装置と、
該記憶装置に結合されたプロセッサとを有し、
該プログラムは該プロセッサに対し、
該セルライブラリを参照させて該ネットリスト中の複数のセルを自動配置させ、
該セルライブラリ及び該ネットリストを参照させて、該転送ゲートがオン時の、該転送ゲートのデータ信号入力端と導通している部分の容量及び抵抗の値を求めさせ、該容量及び抵抗の値に基づいて、該転送ゲートがオン時の該転送ゲートの入力波形のスルーレートを実質的に求めさせ、
実質的に該スルーレートが所定値以上であった場合には、該転送ゲートの前段のセルを、該転送ゲートまでの距離が短くなるように移動させ、又は、該転送ゲートのデータ信号入力端のノードにバッファセルを挿入させ、
該セルライブラリ及び該ネットリストを参照させて、該転送ゲートがオフ時の該第２フリップフロップのホールドタイムを静的解析により求めさせ、
該ホールドタイムが所定値以下の場合、該第１フリップフロップのデータ出力端から該第２フリップフロップのデータ入力端までのパスに、該セルライブラリに登録されている信号遅延用バッファセルを挿入させる、
ことを特徴とする自動配置装置。
【００７０】
（付記８）付記５乃至７のいずれか１つに記載の自動配置装置を有し、
該記憶装置にはさらに、該転送ゲートのデータ信号入力端に接続される配線の長さの許容最大値が格納されており、
該プログラムは該プロセッサに対しさらに、
該自動配置方法を実行して得られるセル配置結果、及び、該ネットリストに基づいて、セル間を自動配線させ、
該転送ゲートのデータ信号入力端に接続される配線の長さが該該許容最大値を越えている場合にはマニュアル修正のためにエラーを出力させる、
ことを特徴とする自動配置配線装置。
【図面の簡単な説明】
【図１】本発明の一実施形態の自動配置配線装置のハードウエア構成を示す概略ブロック図である。
【図２】図１のコンピュータ２０の記憶装置に格納されている自動配置配線プログラムの内容を示す概略フローチャートである。
【図３】図２の続きを示す概略フローチャートである。
【図４】図３の続きを示す概略フローチャートである。
【図５】（Ａ）及び（Ｂ）はいずれも入力段を転送ゲートで構成したセルとしてセレクタを示す回路図である。
【図６】図２のステップＳ１で配置されたセルの一部の概略配置図である。
【図７】図２のステップＳ６及びＳ７を説明するための概略セル配置図である。
【図８】図２のステップＳ１２を説明するための概略セル配置図である。
【図９】（Ａ）及び（Ｂ）はそれぞれ図８のステップＳ１２でのバッファセル挿入前と挿入後のホールドタイムを説明するためのタイミングチャートである。
【図１０】（Ａ）は従来のセレクタセルを示す論理回路図、（Ｂ）は（Ａ）の３入力ナンドゲートをＭＯＳトランジスタで構成した回路図である。
【符号の説明】
１１〜１４　ナンドゲート
１０、１０Ａ、１０Ｂ　セレクタセル
２０　コンピュータ
２１　入力装置
２２　表示装置
２３　ネットリスト
２４　セルライブラリ
２５　制約条件
２６　レイアウト結果
３１〜３３、４１〜４３　転送ゲート
３４〜３６　インバータ
３７　出力バッファ
５０、５４　Ｄフリップフロップ
５１〜５３、５５　論理セル
５６　バッファセル
Ｑ１〜Ｑ３　ＰＭＯＳトランジスタ
Ｑ４〜Ｑ６　ＮＭＯＳトランジスタ
ＤＡＴＡ１〜ＤＡＴＡ４、ＤＡＴＡ４ａ、ＤＡＴＡ４ｂ、ＤＡＴＡ　データ信号
ＣＬＫ　クロック信号
ＳＥＬ１〜ＳＥＬ３　選択信号
ＨＴ、ＨＴ１〜ＨＴ４　ホールドタイム
ＳＧ１〜ＳＧ３　信号
【図１】
2004039745.tif 000003
【図２】
2004039745.tif 000004
【図３】
2004039745.tif 000005
【図４】
2004039745.tif 000006
【図５】
2004039745.tif 000007
【図６】
2004039745.tif 000008
【図７】
2004039745.tif 000009
【図８】
2004039745.tif 000010
【図９】
2004039745.tif 000011
【図１０】
2004039745.tif 000012