(57)【要約】【課題】任意のデューティ比であるデューティ調整回路が設計可能なデューティ調整回路の設計装置を提供する。【解決手段】調整方法決定部は、デューティ調整回路のネットリストと、デューティ調整回路の初期状態のタイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値と、を入力し、立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する。置換セル数決定部は、調整方法決定部の決定に基づいて置き換える遅延セルの数と種類を遅延調整セルライブラリの中から選択する。遅延調整セル置換部は、置換セル数決定部の決定に基づいて、デューティ調整回路に含まれる複数の遅延調整セルの中から選択した遅延調整セルを初期状態とは異なる遅延調整セルに置き換える。【選択図】図１
2012155471.tif 000002
【特許請求の範囲】
【請求項１】
回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セルを備えた遅延調整セルライブラリの中からそれぞれ選択した遅延調整セルを複数用い、クロック信号のデューティ比が調整可能なデューティ調整回路を設計する設計装置であって、
前記デューティ調整回路のネットリストと、前記デューティ調整回路の初期状態のタイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値と、を入力し、前記立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する調整方法決定部と、
前記調整方法決定部の決定に基づいて、前記デューティ調整回路に含まれる複数の遅延調整セルのうち、前記デューティ調整回路に初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類を前記遅延調整セルライブラリに含まれる前記複数種類の遅延調整セルの中から選択する置換セル数決定部と、
前記置換セル数決定部の決定に基づいて、前記デューティ調整回路に含まれる前記複数の遅延調整セルの中から選択した遅延調整セルを初期状態とは異なる遅延調整セルに置き換える遅延調整セル置換部と、
を備えることを特徴とするデューティ調整回路の設計装置。
【請求項２】
前記遅延調整セルは、入力信号に対して正転の遅延した信号を出力するセルであり、前記デューティ調整回路は、前記遅延調整セルを複数縦続接続した回路であることを特徴とする請求項１記載のデューティ調整回路の設計装置。
【請求項３】
前記遅延調整セル置換部は、前記置換セル数決定部が求めた前記数と種類に基づいて、デューティ調整回路全体の中で各部分の遅延ができるだけ均等に調整できるように前記置き換える遅延調整セルの種類と位置を決定することを特徴とする請求項１又は２記載のデューティ調整回路の設計装置。
【請求項４】
前記調整方法決定部は、前記タイミング情報と、前記デューティ比の目標値とから、初期状態のデューティ比と前記目標値との差異を求め、その差異を立ち上がり時間によって調整するか、立ち下がり時間によって調整するかをドライバビリティ指定情報に基づいて決定することを特徴とする請求項１乃至３いずれか１項記載のデューティ調整回路の設計装置。
【請求項５】
前記置換セル数決定部は、前記調整方法決定部の決定に基づいて、前記初期状態のデューティ比と前記目標値との差異を埋めるように初期状態で使用されている遅延調整セルと立ち上がり時間又は立ち下がり時間の少なくとも一方が異なる遅延調整セルに置き換える数と種類を求めることを特徴とする請求項１乃至４いずれか１項記載のデューティ調整回路の設計装置。
【請求項６】
前記置換セル数決定部は、調整後のデューティ調整回路に用いられる各遅延調整セル間の立ち上がり時間の差異及び立ち下がり時間の差異ができるだけ小さくなるように前記異なる遅延調整セルに置き換える数と種類を求めることを特徴とする請求項１乃至５いずれか１項記載のデューティ調整回路の設計装置。
【請求項７】
前記置換セル数決定部は、前記初期状態のデューティ比と前記目標値との差異を最も大きく調整できる遅延調整セルを優先して前記差異を調整し、残る差異を順番により小さく調整できる遅延調整セルを用いて前記差異を調整することを特徴とする請求項１乃至５いずれか１項記載のデューティ調整回路の設計装置。
【請求項８】
前記複数種類の遅延調整セルは、それぞれ外形、端子位置が同一で、一部の工程のレイアウトパターンのみが異なるセルであることを特徴とする請求項１乃至７いずれか１項記載のデューティ調整回路の設計装置。
【請求項９】
前記複数種類の遅延調整セルは、それぞれ一工程の配線パターンのみが異なるレイアウトパターンを有するセルであることを特徴とする請求項１乃至８いずれか１項記載のデューティ調整回路の設計装置。
【請求項１０】
前記遅延調整セル置換部により置き換えが完了したデュ−ティ調整回路を入力し、デューティ調整回路全体の遅延解析を行い、前記クロック信号のデューティ比を求める遅延解析部と、
前記遅延解析部で求めたデューティ比と前記デューティ比の目標値との差異を求め、前記差異が一定の範囲に収まるまで、前記遅延解析部の遅延解析結果を前記初期状態のタイミング情報として与え、前記調整方法決定部による調整方法の決定と、前記置換セル数決定部による異なる遅延調整セルに置き換える数と種類の選択と、前記遅延調整セル置換部による置き換えと、遅延解析部による遅延解析と、を繰り返させる制御部と、
をさらに備えることを特徴とする請求項１乃至９いずれか１項記載のデューティ調整回路の設計装置。
【請求項１１】
コンピュータを請求項１乃至１０いずれか１項記載のデューティ調整回路の設計装置として機能させるコンピュータプログラム。
【請求項１２】
請求項１１記載のコンピュータプログラムが固定して記録された記録媒体であって、コンピュータが読み取り可能なコンピュータプログラム記録媒体。
【請求項１３】
請求項１乃至９いずれか１項記載の設計装置を用いてデューティ調整回路のデューティ比の調整を行うステップと、
前記調整後のデューティ調整回路の遅延解析を行い、調整後のデューティ比と前記目標値との差異を求めるステップと、
前記目標値との差異が一定の範囲内に収まるまで前記調整を行うステップと、前記差異を求めるステップとを繰り返すことを特徴とするデューティ調整回路の設計方法。
【請求項１４】
回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セルを備えた遅延調整セルライブラリの中からそれぞれ選択した複数の遅延調整セルを縦続接続してクロック信号のデューティ比が調整可能に構成されたデューティ調整回路を設計する方法であって、
前記デューティ調整回路のネットリストと、前記デューティ調整回路の初期状態のタイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値と、に基づいて、前記立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する調整方法決定ステップと、
前記調整方法決定ステップの決定に基づいて、前記縦続接続された複数の遅延調整セルのうち、前記デューティ調整回路に初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類を前記遅延調整セルライブラリに含まれる前記複数種類の遅延調整セルの中から選択する置換セル数決定ステップと、
前記置換セル数決定ステップの決定に基づいて、前記縦続接続された複数の遅延調整セルの中から選択した遅延調整セルを初期状態とは異なる遅延調整セルに置き換える遅延調整セル置換ステップと、
を備えることを特徴とするデューティ調整回路の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デューティ調整回路の設計装置及び設計方法に関する。特に、クロック信号のデューティ比が調整されたデューティ調整済み回路を設計する設計装置及び設計方法に関する。
【背景技術】
【０００２】
半導体集積回路などに用いられる電子回路では、正確なデューティ比のクロック信号が必要となる場合がある。たとえば、半導体集積回路に電圧を供給する電源としてデジタル制御電源を採用する場合、デジタル制御電源のＰＷＭ制御において、ＰＷＭ制御回路に入力する基準クロック信号のより正確な遅延、デューティ比の制御が必要になる。
【０００３】
このようなデューティ比の正確なクロック信号を得るために以下に示すような先行技術の開発が行われている。
【０００４】
特許文献１には、クロックツリーを構成する複数の正転セルのうち、偶数段の正転セルを反転セルに置き換えることにより、クロックツリーのデューティを調整することが記載されている。図１４に特許文献１に記載されているクロックツリーのブロック図を、図１５に特許文献１に記載されているデューティ調整方法のフローチャートを示す。図１４において、正転セル１１の立ち上がり遅延時間は、２ｎｓであり、立ち下がり遅延時間は、１ｎｓである。また、反転セル１２の立ち上がり遅延時間は、１ｎｓであり、立ち下がり遅延時間は、２ｎｓである。クロックツリーに正転セル１１のみを用いた場合には、正転セル１１の立ち上がり遅延時間が立ち下がり遅延時間より遅いので、クロックツリーの入力端子に５０％デューティのクロック信号を入力してもクロックツリーの出力端子から出力されるクロック信号は、５０％デューティから大きくずれたクロック信号になってしまう。
【０００５】
図１４では、２段目と６段目の正転セルを反転セル１２に置き換えることにより正転セル又は反転セル７段のクロックツリー全体での立ち上がり遅延時間を１０ｎｓ、立ち下がり遅延時間を１１ｎｓに調整することにより、クロックツリー全体での立ち上がり遅延時間と立ち下がり遅延時間をほぼ等しくすることにより、クロックツリーの出力端子からほぼ５０％デューティのクロック信号が得られるようにしている。特許文献１では、反転セルに置き換える正転セルを最適に選択することにより最適なデューティ比が得られるようにしている。
【０００６】
特許文献２には、レイアウト後のクロックのデューティ調整を容易に行なうことを目的とする半導体集積回路の設計方法が記載されている。クロックの両エッジで動作するセルへクロックを供給するセルとして初期配置セルを配置した後、クロックツリーの配置、クロック配線、セル間配線などのレイアウトを実行し、レイアウト実行後の実配線長にもとづくタイミング検証を行って、デューティ値の規定を満たさないデューティ違反が発生している初期配置セルを抽出し、デューティ違反の初期配置セルを、レイアウト上の配置位置はそのままで、外形サイズ、入出力端子位置、入力容量および出力駆動力が初期配置セルと同じで、デューティが規定値を満たすように調整されたデューティ調整セルに置換する。
【０００７】
特許文献３には、配線工程のみを変えることによりデューティ比を調整することのできるセルのレイアウトが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−２６９１６６号公報
【特許文献２】特開２０１０−３９５７０号公報
【特許文献３】特開２００９−１８８１８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以下の分析は、本発明によって与えられたものである。デューティ比を調整しようとする場合、出力信号のデューティ比が高精度に調整できるものであることが望ましい。さらに、単に出力信号のデューティの調整だけではなく、出力信号に対して所定の位相差を持った信号が必要となる場合が多く、所定の位相差を持つ信号を簡単に取り出すことのできるデューティ調整回路が望ましい。また、デューティ比を遅延調整セルのドライバビリティの増加または減少のどちらによって調整する必要があるか、立ち上がりエッジと立ち下がりエッジのどちらのエッジによって調整する必要があるかデューティ調整済み回路を用いるシステムの回路構成によって異なる。これらのデューティ調整回路に対する様々な要求を満たすデューティ調整回路を自動的に設計することのできるデューティ調整回路の設計装置が望まれている。
【課題を解決するための手段】
【００１０】
本発明の第１の視点によれば、回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セルを備えた遅延調整セルライブラリの中からそれぞれ選択した遅延調整セルを複数用い、クロック信号のデューティ比が調整可能なデューティ調整回路を設計する設計装置であって、前記デューティ調整回路のネットリストと、前記デューティ調整回路の初期状態のタイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値と、を入力し、前記立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する調整方法決定部と、前記調整方法決定部の決定に基づいて、前記デューティ調整回路に含まれる複数の遅延調整セルのうち、前記デューティ調整回路に初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類を前記遅延調整セルライブラリに含まれる前記複数種類の遅延調整セルの中から選択する置換セル数決定部と、前記置換セル数決定部の決定に基づいて、前記デューティ調整回路に含まれる前記複数の遅延調整セルの中から選択した遅延調整セルを初期状態とは異なる遅延調整セルに置き換える遅延調整セル置換部と、を備えるデューティ調整回路の設計装置が提供される。
【００１１】
本発明の第２の視点によれば、コンピュータを上記第１の視点におけるデューティ調整回路の設計装置として機能させるコンピュータプログラムが提供される。
【００１２】
本発明の第３の視点によれば、上記第２の視点におけるコンピュータプログラムが固定して記録された記録媒体であって、コンピュータが読み取り可能なコンピュータプログラム記録媒体が提供される。
【００１３】
本発明の第４の視点によれば、上記第１の視点による設計装置を用いてデューティ調整回路のデューティ比の調整を行うステップと、前記調整後のデューティ調整回路の遅延解析を行い、調整後のデューティ比と前記目標値との差異を求めるステップと、前記目標値との差異が一定の範囲内に収まるまで前記調整を行うステップと、前記差異を求めるステップとを繰り返すデューティ調整回路の設計方法が提供される。
【００１４】
本発明の第５の視点によれば、回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セルを備えた遅延調整セルライブラリの中からそれぞれ選択した複数の遅延調整セルを縦続接続してクロック信号のデューティ比が調整可能に構成されたデューティ調整回路を設計する方法であって、前記デューティ調整回路のネットリストと、前記デューティ調整回路の初期状態のタイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値と、に基づいて、前記立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する調整方法決定ステップと、前記調整方法決定ステップの決定に基づいて、前記縦続接続された複数の遅延調整セルのうち、前記デューティ調整回路に初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類を前記遅延調整セルライブラリに含まれる前記複数種類の遅延調整セルの中から選択する置換セル数決定ステップと、前記置換セル数決定ステップの決定に基づいて、前記縦続接続された複数の遅延調整セルの中から選択した遅延調整セルを初期状態とは異なる遅延調整セルに置き換える遅延調整セル置換ステップと、を備えるデューティ調整回路の設計方法が提供される。
【発明の効果】
【００１５】
本発明の各視点によれば、高精度にデューティ比が調整可能であり、かつ、出力信号に対して所定の位相差を持つ信号を簡単に取り出すことも可能なデューティ調整回路を設計することができる。また、デューティ調整回路を用いるシステムの回路構成に応じて、ドライバビリティの増加または減少のどちらによってデューティ比を調整するデューティ比調整回路であっても簡単に設計を行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態によるデューティ調整回路の設計装置のブロック図である。
【図２】本発明の設計の対象となるデューティ調整回路の一例を示すブロック図である。
【図３】本発明の設計の対象となるデューティ調整回路に用いられる遅延調整セル１のレイアウトパターンの一例（標準となるセル）を示す平面図である。
【図４】図３とは遅延時間の異なる（立ち上がり時間の遅い）遅延調整セル２のレイアウトパターンを示す平面図である。
【図５】図３とは遅延時間のさらに異なる（立ち下がり時間の早い）遅延調整セル３のレイアウトパターンを示す平面図である。
【図６】遅延調整セルライブラリに含まれる複数種類の遅延調整セルのタイミングテーブルである。
【図７】本発明の第１の実施形態による設計装置における置換セル数決定部の処理手順を示すフローチャートである。
【図８】第１の実施形態における遅延調整セル置換部の処理手順を示すフローチャートである。
【図９】初期状態におけるデューティ調整回路の入力信号と出力信号のタイミングチャートである。
【図１０】初期状態が図９のタイミングである場合に（ａ）出力信号の立ち下がりを早めることによりデューティ比を５０％に調整するタイミングチャートと、（ｂ）出力信号の立ち上がりを遅くすることによりデューティ比を５０％に調整するタイミングチャートである。
【図１１】本発明の第２の実施形態による設計装置における置換セル数決定部の処理手順を示すフローチャートである。
【図１２】本発明の第３の実施形態によるデューティ調整回路の設計方法全体の処理手順を示すフローチャートである。
【図１３】本発明の第４の実施形態によりコンピュータにデューティ調整回路の設計プログラムを実行させる場合のコンピュータの構成の一例を示すブロック図である。
【図１４】特許文献１に記載されている従来のクロックツリーの構成図である。
【図１５】特許文献１に記載されている従来のデューティ調整方法を示すフローチャートである。
【発明を実施するための形態】
【００１７】
具体的な実施の形態の詳細な説明に入る前に、本発明の実施形態の概要について説明しておく。なお、概要の説明に付記した図面参照符号は専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
【００１８】
本発明の一実施形態によるデュ−ティ調整回路の設計装置１０（図１参照）は、回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セル（図３〜５の５１ａ〜５１ｃ）を備えた遅延調整セルライブラリの中からそれぞれ選択した遅延調整セル５１を複数用い、クロック信号のデューティ比が調整可能なデューティ調整回路（図２の５０）を設計する設計装置である。
【００１９】
なお、本明細書において、デューティ調整回路とは、回路機能がデューティ比の調整のみを目的とする回路に限られず、周期的な信号を受け、デューティ比の調整が必要な回路を言う。すなわち、本明細書において、デューティ調整回路の設計装置とは、デューティ比の調整が必要な回路の設計に適用可能な設計装置である。
【００２０】
図１に示すように、調整方法決定部１は、デューティ調整回路のネットリスト２４と、デューティ調整回路の初期状態のタイミング情報２１と、ドライバビリティ指定情報２２と、デューティ比の目標値２３と、を入力し、立ち上がり時間と立ち下がり時間のどちらの調整によりデューティ比の調整をするか決定する。ドライバビリティ指定情報により、デューティ調整回路を用いるシステムの回路構成によって、遅延調整セルのドライバビリティの増加によってデューティ比を調整するか、減少によってデューティ比を調整するか任意に選択することができる。これにより、システムの回路構成に合わせて任意のデューティ調整回路を設計することができる。
【００２１】
また、置換セル数決定部２は、調整方法決定部１の決定に基づいて、デューティ調整回路に含まれる複数の遅延調整セルのうち、前記デューティ調整回路に初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類を前記遅延調整セルライブラリに含まれる複数種類の遅延調整セルの中から選択する。デューティ調整回路５０は、複数の遅延調整セル５１を用いており、各遅延調整セル５１は、回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なる複数種類の遅延調整セル（図３〜５の５１ａ〜５１ｃ）を備えた遅延調整セルライブラリの中から選択した遅延調整セル５１を選択することができる。デューティ調整回路に含まれる複数の遅延調整セルは、複数の種類の遅延調整セルからその数と種類を任意に選択することができるので、高精度にデューティ比を調整することが可能である。
【００２２】
さらに、遅延調整セル置換部３は、置換セル数決定部２の決定に基づいて、デューティ調整回路５０に含まれる複数の遅延調整セル５１−１〜５１−１０の中から選択した遅延調整セルを初期状態とは異なる遅延調整セル５１ａ〜５１ｃに置き換える。遅延調整セルライブラリに含まれる複数種類の遅延調整セルは、回路機能が同一で立ち上がり時間と立ち下がり時間の少なくとも一方が異なるので、遅延調整セルを置き換えてもデューティ調整回路の入力端子から出力端子の間の途中の論理は何ら変わることがない。従って、デューティ調整回路の途中の論理から出力信号に対して位相の異なる信号を簡単に取り出すことができる。
【００２３】
さらに、好ましくは、遅延調整セル置換部３は、置換セル数決定部２が求めた初期状態で使用されている遅延調整セルとは異なる遅延調整セルに置き換える数と種類に基づいて、デューティ調整回路全体の中で各部分の遅延ができるだけ均等に調整できるように置き換える遅延調整セルの種類と位置を決定する。すなわち、デューティ調整回路の入力信号に対して出力信号のデューティを等しくしたい場合は、デューティ調整回路の途中から信号を引き出してもほぼ入力信号及び出力信号とデューティ比が等しい信号が得られることになる。従って、入力信号又は／及び出力信号と所定の位相差を有する信号が容易にデューティ調整回路の途中から引き出すことができる。
【００２４】
以上で、概要の説明を終了し、以下に具体的な各実施の形態について、図面を参照してさらに詳しく説明する。
【００２５】
［第１の実施形態］
第１の実施形態のデューティ調整回路の設計装置について説明する前に、設計対象とするデューティ調整回路とデューティ調整回路に用いられる遅延調整セルについて説明しておく。図２は、デューティ調整回路５０の回路ブロック図である。デューティ調整回路５０は、入力端子ＩＮから入力されるクロック信号のデューティ比を調整して出力端子ＯＵＴから出力する回路である。デューティ調整回路５０の内部は、１０段の遅延調整セル５１−１〜５１−１０が縦続接続されている。初段の遅延調整セル５１−１の入力端子は、デューティ調整回路５０の入力端子ＩＮに接続され、２段目以降の遅延調整セル５１−２〜５１−１０の入力端子は、前段の遅延調整セル５１−１〜５１−９の出力端子に接続されている。最終段の遅延調整セル５１−１０の出力端子は、デューティ調整回路５０の出力端子ＯＵＴに接続されている。遅延調整セル５１−１〜５１−１０の内部は、それぞれ入力段と出力段の２段に縦続接続されたＣＭＯＳインバータで構成され、それぞれ入力端子から入力した信号を遅延させて正転信号として出力端子から出力する。
【００２６】
また、デューティ調整回路５０の遅延調整セル５１−１〜５１−１０は、回路機能が同一で、それぞれ立ち上がり遅延時間、立ち下がり遅延時間のいずれかが異なる複数種類の遅延調整セルを格納した遅延調整セルライブラリから任意の遅延調整セルをそれぞれ選択することができる。立ち上がり遅延時間、立ち下がり遅延時間のいずれかが異なる遅延調整セルを任意に選択することにより、デューティ調整回路５０の入力端子ＩＮから入力されるクロック信号に対して出力端子ＯＵＴから出力されるクロック信号のデューティ比を任意に調整して出力することができる。
【００２７】
図３〜図５は、それぞれ遅延調整セルライブラリに含まれる遅延調整セルを半導体集積回路の半導体基板上にレイアウトしたレイアウトパターンの一例を示す平面図である。図３〜図５の遅延調整セルは、互いに論理、外形は同一であり、立ち上がり遅延時間または立ち下がり遅延時間のいずれかが、異なることを除いて、ほぼ同一のセルである。
【００２８】
図３の遅延調整セル５１ａは、入力段５２と出力段５３の縦続接続された２つのＣＭＯＳインバータを含んでいる。入力段５２と出力段５３のインバータに電源ＶＤＤとグランドＧＮＤを供給するため、電源ＶＤＤのメタル配線５６ａとグランドＧＮＤのメタル配線５６ｂが配線されている。電源ＶＤＤのメタル配線５６ａは、入力段５２と出力段５３のインバータのＰＭＯＳトランジスタのソースドレイン領域であるＰ拡散層５９のソースにコンタクト５７を介して接続されている。同様に、グランドＧＮＤのメタル配線５６ｂは、入力段５２と出力段５３のインバータのＮＭＯＳトランジスタのソースドレイン領域であるＮ拡散層６０のソースにコンタクト５７を介して接続されている。入力段５２の入力端子ＩＮのメタル配線５４は、コンタクト５７を介して入力段５２のゲートポリシリコン５８に接続されている。入力段５２のＰ拡散層５９、Ｎ拡散層６０のドレイン領域は、それぞれコンタクト５７を介して入力段５２の出力信号としてメタル配線によって出力段５３の入力端子に接続され、出力段５３の入力端子はコンタクト５７を介して出力段５３のゲートポリシリ５８に接続されている。出力段５３のインバータは、それぞれ電源ＶＤＤ、入力端子、出力端子が共通に並列に接続された５つのＰＭＯＳトランジスタと、グランドＧＮＤ、入力端子、出力端子が共通に並列に接続された５つのＮＭＯＳトランジスタと、を備える。この５つのＰＭＯＳトランジスタのドレイン領域をそれぞれ、ＤＰ１〜ＤＰ５とする。同様に、５つのＮＭＯＳトランジスタのドレイン領域をそれぞれ、ＤＮ１〜ＤＮ５とする。各ドレイン領域ＤＰ１〜ＤＰ５、ＤＮ１〜ＤＮ５は、コンタクト５７を介してメタル配線に接続されている。
【００２９】
ただし、それぞれ５つのドレイン領域ＤＰ１〜ＤＰ５、ＤＮ１〜ＤＮ５のうち、ＤＰ１〜ＤＰ３及びＤＮ１〜ＤＮ３の３つずつのドレイン領域に接続されたメタル配線は、出力端子ＯＵＴ５５のメタル配線に接続されているがＤＰ４〜ＤＰ５及びＤＮ４〜ＤＮ５の２つずつのドレイン領域に接続されたメタル配線は、出力端子ＯＵＴ５５のメタル配線に接続されていない。
【００３０】
図４は、図３とは別な遅延調整セル５１ｂのレイアウトパターンの一例を示す平面図である。図４の遅延調整セル５１ｂは、図３の遅延調整セル５１ａと、出力段のＰＭＯＳトランジスタの５つのドレイン領域ＤＰ１〜ＤＰ５のうち、ＤＰ１のみがメタル配線を介して出力端子ＯＵＴ５５のメタル配線に接続されているものの、残りの４つのドレイン領域ＤＰ２〜ＤＰ５のメタル配線は、出力端子ＯＵＴ５５のメタル配線に接続されていない点が異なっている。
【００３１】
図４の遅延調整セル５１ｂの出力段のＰＭＯＳトランジスタは、５つのドレイン領域ＤＰ１〜ＤＰ５のうち、ＤＰ１のみしか、出力端子ＯＵＴに接続されていないため、出力段のＰＭＯＳトランジスタのドライバビリティが図３の遅延調整セル５１ａと比較すると低く、立ち上がり時間が遅くなるように調整されている。図４の遅延調整セル５１ｂのレイアウトパターンは、出力段５３のＰＭＯＳトランジスタドレイン領域ＤＰ２、ＤＰ３のメタル配線が出力端子ＯＵＴ５５のメタル配線に接続されていないことを除いて他のレイアウトパターンは、図３の遅延調整セル５１ａと同一である。
【００３２】
図５は、図３、図４とはさらに別な遅延調整セル５１ｃのレイアウトパターンの一例を示す平面図である。図５の遅延調整セル５１ｃは、図３の遅延調整セル５１ａと、出力段のＮＭＯＳトランジスタの５つのドレイン領域ＤＮ１〜ＤＮ５がすべてメタル配線を介して出力端子ＯＵＴ５５のメタル配線に接続されている点で異なっている。
【００３３】
図５の遅延調整セル５１ｃの出力段のＮＭＯＳトランジスタは、５つのドレイン領域ＤＮ１〜ＤＮ５がすべて出力端子ＯＵＴに接続されているため、出力段のＮＭＯＳトランジスタのドライバビリティが図３の遅延調整セル５１ａと比較すると高く、立ち下がり遅延時間が早くなるように調整されている。図５の遅延調整セル５１ｃのレイアウトパターンは、出力段のＮＭＯＳトランジスタドレイン領域ＤＮ４、ＤＮ５のメタル配線が出力端子ＯＵＴ５５のメタル配線に接続されている点を除いて他のレイアウトパターンは、図３の遅延調整セル５１ａと同一である。
【００３４】
すなわち、図３〜図５の遅延調整セル５１ａ〜５１ｃは、出力段５３のＰＭＯＳトランジスタ又はＮＭＯＳトランジスタのドライバビリティ(駆動能力)をそれぞれ変えることで、立ち上がり遅延時間、立ち下がり遅延時間のいずれかを異ならせている。このドライバビリティの違いにより、デューティ調整回路の用いる遅延調整セルを変えることにより、デューティ調整回路のデューティ比を調整することができる。また、図３〜図５の遅延調整セル５１ａ〜５１ｃは、メタル配線の配線パターンが一部異なる点を除いて他のレイアウトパターンは、同一であるので、遅延調整セルの周辺のレイアウトパターンや、配線の引き回しに影響を与えることなく、遅延調整セル内のメタル配線の配線パターンを一部変更することでデューティ調整回路のデューティ比を調整することができる。
【００３５】
設計対象とするデューティ調整回路及びデューティ調整回路に用いられる遅延調整セルについてひと通り説明したので、次は、第１の実施形態によるデューティ調整回路の設計装置の構成と動作について説明する。
【００３６】
図１は、第１の実施形態によるデューティ調整回路の設計装置１０のブロック図である。図１において、調整方法決定部１は、タイミング情報２１、ドライバビリティ指定情報２２、デューティ比目標値２３、初期状態ネットリスト２４を入力し、デューティ比を立ち上がりエッジ又は立ち下がりエッジのどちらのエッジのタイミングにより調整するか、及び、タイミングを遅くすることにより調整するか、早くすることにより調整するか決定する。その決定結果を調整方法指定情報２７として出力する。
【００３７】
タイミング情報２１には、デューティ比調整前の初期状態のデューティ調整回路５０についてのタイミング解析結果が格納されている。タイミング解析は、例えば、ＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ：静的タイミング解析）によって行うことができる。タイミング情報２１には、図９に示すように初期状態のデューティ調整回路５０の入力端子ＩＮに入力する波形のタイミングデータと、そのときの出力端子ＯＵＴから出力される波形のタイミングデータが記録されている。
【００３８】
ドライバデリティ指定情報２２は、デューティ比の調整をドライバビリティの増加により行うか、ドライバビリティの減少により行うかの指定が記録されている。デューティ比の調整をドライバビリティの増加により行った方がよいか、ドライバビリティの減少により行った方がよいかは、デューティ調整回路５０が用いられるシステムの回路構成によって決まる。従って、デューティ比の調整をドライバビリティの増加により行うか、ドライバビリティの減少により行うかの指定を予めドライバビリティ指定情報２２として格納しておく。
【００３９】
デューティ比目標値２３は、デューティ調整回路５０の出力端子から得られるクロック信号のデューティ比を指定する。例えば、目標値が５０％であるならば、そのように指定する。
【００４０】
初期状態ネットリスト２４は、デューティ比調整前のデフォルト状態のデューティ調整回路５０のネットリストである。このネットリストには、デューティ比の調整対象とするデューティ調整回路５０内部の接続情報とデューティ調整回路５０に用いられる遅延調整セルの名称が記録されている。初期状態では、デューティ調整回路５０の遅延調整セルは、すべて標準的な遅延時間を有する遅延調整セルが用いられているとしてもよい。
【００４１】
調整方法決定部１の動作について説明する。タイミング情報２１に格納されているタイミング解析結果の情報が図９に示すようなタイミングであるとする。図９を参照すると、入力端子ＩＮからハイレベル幅が５００ｐｓ、ロウレベル幅が５００ｐｓの５０％デューティのクロック信号を入力している。このときの出力端子ＯＵＴから出力される波形はハイレベル幅６９０ｐｓ、ロウレベル幅３１０ｐｓの波形であるとする。また、デューティ比目標値が５０％であるとする。タイミング情報２１から得られた情報によれば、出力端子ＯＵＴから出力される波形がハイレベル幅６９０ｐｓ、ロウレベル幅３１０ｐｓであるので、デューティ比目標値５０％を超えており、デューティ比の調整が必要である。
【００４２】
このとき、デューティ比を５０％に調整する方法としては、図１０に示すように２通りの方法がある。一つは、図１０（ａ）のように出力端子ＯＵＴから出力される出力クロック信号の立ち上がりタイミングを変えずに、出力クロック信号の立ち下がりタイミングを早めることにより、デューティ比を５０％に調整する方法である。もう一つは、図１０（ｂ）のように出力端子ＯＵＴから出力される出力クロック信号の立ち下がりタイミングを変えずに、出力クロック信号の立ち上がりタイミングを遅くすることにより、デューティ比を５０％に調整する方法である。
【００４３】
このどちらの方法によりデューティ比を調整するかは、ドライバビリティ指定情報２２に基づいて、決定する。ドライバビリティ指定情報２２がドライバビリティの増加である場合には、図１０（ａ）に示す出力クロックの立ち下がりタイミングを早めることによりデューティ比を調整する。具体的には、遅延調整セルの出力段ＮＭＯＳトランジスタのドライバビリティを上げることにより出力クロックの立ち下がりタイミングを早める。
【００４４】
一方、ドライバビリティ指定情報２２がドライバビリティの減少である場合には、図１０（ｂ）に示す出力クロックの立ち上がりタイミングを遅らせることによりデューティ比を調整する。具体的には、遅延調整セルの出力段ＰＭＯＳトランジスタのドライバビリティを下げることにより出力クロックの立ち上がりタイミングを遅くする。
【００４５】
図１０では、デューティ比の初期値が目標値より大きい場合について説明しているが、デューティ比の初期値が目標値より小さかった場合は、以下のようにしてデューティ比を調整することができる。すなわち、ドライバビリティ指定情報２２がドライバビリティの増加である場合には、出力段ＰＭＯＳトランジスタのドライバビリティを増加させることにより、クロック信号の立ち上がりタイミングを早めることによりデューティ比を調整する。一方、ドライバビリティ指定情報２２がドライバビリティの減少である場合には、出力段ＮＭＯＳトランジスタのドライバビリティを減少させることにより、クロック信号の立ち下がりタイミングを遅くしてデューティ比を調整する。
【００４６】
以上のように、調整方法決定部１は、タイミング情報２１、ドライバビリティ指定情報２２、デューティ比目標値２３から出力クロック信号の立ち上がりエッジ、立ち下がりエッジのどちらのエッジのタイミング移動によってデューティ比の調整を行うかを決定し、その結果を調整方法指定情報２７として出力する。また、立ち上がりエッジ、立ち下がりエッジの増減が必要なタイミング（図１０のケースでは１９０ｐｓ）についても要調整遅延量として調整方法指定情報２７に記録しておく。
【００４７】
また、初期状態のデューティ調整回路に用いられている複数の遅延調整セルが同一の遅延時間を有する遅延調整セルとは限られない場合もある。この場合、ドライバビリティの増加によりデューティ比の調整を行う場合は、初期状態のデューティ調整回路に用いられている複数の遅延調整セルのうち、ドライバビリティの最も小さいセルを遅延調整開始セルとする。また、ドライバビリティの減少によりデューティ比の調整を行う場合は、初期状態のデューティ調整回路に用いられている複数の遅延調整セルのうち、ドライバビリティの最も大きいセルを遅延調整開始セルとする。第１の実施形態においては、遅延調整開始セルを優先的に置換の対象とする遅延調整セルとする。
【００４８】
さらに、遅延調整セルが使われているインスタンスを置換対象インスタンスとし、遅延調整開始セル名及び置換対象インスタンス及び置換対象インスタンス数も置換対象インスタンス情報として調整方法指定情報２７に一時保存しておく。
【００４９】
次に、置換セル数決定部２は、調整方法決定部１が指定した調整方法指定情報２７と、遅延調整セルタイミングテーブル２５と、に基づいて、デューティ比調整回路５０に使用されている複数の遅延調整セル（図２の例では１０個）のうち、何個のセルをどの遅延調整セルに置き換えれば最も目標値に近くなるかを検討し、その結果を置換セル数種類指定情報２８として出力する。
【００５０】
遅延調整セル置換部３は、初期状態ネットリスト２４と遅延調整セルタイミングテーブル２５とを入力し、置換セル数決定部２が指定した置換セル数種類指定情報２８に基づいて、デューティ調整回路に含まれる複数の遅延調整セルのうち、実際に置換するセルを決定し、インスタンス置換情報２６として出力する。遅延調整セル置換部３では、クロック信号を入力し、デューティを調整して出力するデューティ調整回路５０において、デューティ調整回路のクロック入力端子からクロック出力端子までの中間ノードにおいて、デューティが均等に調整される様にデューティ調整回路５０に含まれる複数の遅延調整セルの中から置換するセルを選択して置換する。従って、例えば、デューティ調整回路５０に入力されるクロック信号のデューティ比が５０％でデューティ調整回路５０から出力されるクロック信号のデューティも５０％に調整する場合は、デューティ調整回路５０の入力端子から出力端子までのどの途中のノードを取ってもほぼ５０％に近いデューティ比の信号が得られるようになる。
【００５１】
図６に、遅延調整セルライブラリに含まれる複数種類の遅延調整セルのタイミングテーブル２５の一例を示す。図６のタイミングテーブル２５には、遅延調整セルライブラリに含まれる各遅延調整セルの名称（ＰＸＡ、ＮＸＡ等）と立ち上がり遅延時間、立ち下がり遅延時間が記録されている。図６の遅延値は、遅延調整セルを隣接配置した際の、最小配線長で遅延を算出している。図６の例では、９種類の遅延調整セルのうち、遅延調整セルＸＣは標準的な立ち上がり時間及び立ち下がり時間を持つセルである。図６に示す例では、ＸＣの立ち上がり遅延時間は５９ｐｓであり、立ち下がり遅延時間は７８ｐｓである。
【００５２】
ＸＣ以外の８種類の遅延調整セルは、ＸＣに対して、立ち上がり遅延時間、立ち下がり遅延時間のうち、一方の遅延時間が異なっており、他方の遅延時間が同一である。例えば、遅延調整セルＰＸＡ、ＰＸＢ、ＰＸＤ、ＰＸＥは、立ち下がり遅延時間は、それぞれＸＣと同一の７８ｐｓであるが、立ち上がり遅延時間は、ＸＣと異なっている。ＰＸＡ、ＰＸＢは、ＸＣより立ち上がり遅延時間が遅いセルであり、その立ち上がり遅延時間はＰＸＡ、ＰＸＢの順に７５ｐｓ、６７ｐｓである。また、ＰＸＤ、ＰＸＥは、ＸＣより立ち上がり遅延時間が早いセルであり、その立ち上がり遅延時間はＰＸＤ、ＰＸＥの順に５０ｐｓ、３８ｐｓである。遅延調整セルＰＸＡ、ＰＸＢ、ＰＸＤ、ＰＸＥは、出力段ＰＭＯＳトランジスタのドライバビリティがそれぞれ標準となる遅延調整セルＸＣとは異なり、出力段ＰＭＯＳトランジスタのドライバビリティの違いにより、立ち上がり遅延時間を変えている。遅延調整セルＰＸＡ、ＰＸＢ、ＰＸＤ、ＰＸＥの出力段ＮＭＯＳトランジスタのドライバビリティは、標準となる遅延調整セルＸＣと同一である。
【００５３】
また、遅延調整セルＮＸＡ、ＮＸＢ、ＮＸＤ、ＮＸＥは、立ち上がり遅延時間は、それぞれＸＣと同一の５９ｐｓであるが、立ち下がり遅延時間は、ＸＣと異なっている。ＮＸＡ、ＮＸＢは、ＸＣより立ち下がり遅延時間が遅いセルであり、その立ち下がり遅延時間はＮＸＡ、ＮＸＢの順に８４ｐｓ、８０ｐｓである。また、ＮＸＤ、ＮＸＥは、ＸＣより立ち下がり遅延時間が早いセルであり、その立ち下がり遅延時間はＮＸＤ、ＮＸＥの順に６６ｐｓ、５４ｐｓである。遅延調整セルＮＸＡ、ＮＸＢ、ＮＸＤ、ＮＸＥは、出力段ＮＭＯＳトランジスタのドライバビリティがそれぞれ標準となる遅延調整セルＸＣとは異なり、出力段ＮＭＯＳトランジスタのドライバビリティの違いにより、立ち下がり遅延時間を変えている。遅延調整セルＮＸＡ、ＮＸＢ、ＮＸＤ、ＮＸＥの出力段ＰＭＯＳトランジスタのドライバビリティは、標準となる遅延調整セルＸＣと同一である。
【００５４】
また、図６に示す遅延調整セルライブラリでは、立ち上がり遅延時間が異なるセルと立ち下がり遅延時間が異なるセルとをそれぞれ５通り用意しているが、遅延調整セルライブラリに含まれるセルの種類については、図６に示す例よりもっと多くてもよいし、少なくてもよい。
【００５５】
次に、置換セル数決定部２の動作について、図７の処理フローチャートを用いて説明する。ステップＳ１では、調整方法指定情報２７に含まれる調整方法指定情報、要調整遅延量、置換対象インスタンス情報と、遅延調整セルタイミングテーブル２５を参照し、置換が必要な遅延調整セルの数を算出する。
【００５６】
ステップＳ１の処理において、調整方法指定情報２７が指定するデューティ調整方法（調整方法指定情報）がＮＭＯＳトランジスタのドライバビリティ増加（立ち下がり遅延時間の短縮）、或いはＰＭＯＳトランジスタのドライバビリティ増加（立ち上がり遅延時間の短縮）の場合、最初のステップＳ１の処理では、ドライバビリティが最も大きい遅延調整セルへの置換個数を求める。ループ処理によりステップＳ１の処理を繰り返す場合は、２回目のステップＳ１の処理ではドライバビリティが２番目に大きい遅延調整セルへの置換個数を求める。以下同様に、ループ回数に応じてドライバビリティを順に小さくして遅延調整用セルの置換個数を求める。
【００５７】
デューティ調整方法がＮＭＯＳトランジスタのドライバビリティ削減（立ち下がり遅延時間の延長）、或いはＰＭＯＳトランジスタのドライバビリティ削減（立ち上がり遅延時間の延長）の場合、ループ１回目の処理ではドライバビリティが最も小さい遅延調整セルへの置換個数を求める。ループ２回目の処理ではドライバビリティが２番目に小さい遅延調整セルへの置換個数を求める。以下同様に、ループ回数に応じてドライバビリティを順に大きくして遅延調整セルの置換個数を求める。
【００５８】
ステップＳ２は、調整方法指定情報２７に格納されている置換対象インスタンスの数、Ｎ回目（Ｎは自然数）のループのステップＳ１で求めた置換個数と、（Ｎ−１）回目のループまでにステップＳ３或いはステップＳ４で求めた置換個数の総和を入力情報とし、ステップＳ３に進むか、ステップＳ４に進むかを、判定によって決める。
【００５９】
ループ１回目の場合は、ループ１回目のステップＳ１で求めた置換個数が、置換対象インスタンスの数以下の場合ステップＳ３に進むと判定する。同様に、ループ１回目の場合で、ループ１回目のステップＳ１で求めた置換個数が、置換対象インスタンスの数より大きい場合はステップＳ４に進むと判定する。
【００６０】
ループ２回目の場合は、ループ１回目のステップＳ３或いはステップＳ４で求めた置換個数と、ループ２回目のステップＳ１で求めた置換個数の和が、置換対象インスタンスの数以下の場合はステップＳ３に進むと判定する。同様にループ２回目の場合で、ループ１回目のステップＳ３或いはステップＳ４で求めた置換個数とループ２回目のステップＳ１で求めた置換個数の総和が、置換対象インスタンスの数より大きい場合は処理Ｓ４に進むと判定する。
【００６１】
以下同様に、（Ｎ−１）回目のループまでのステップＳ３或いはステップＳ４で求めた置換個数の和と、Ｎ回目のループのステップＳ１で求めた置換個数の総和が、置換対象インスタンスの数以下の場合はステップＳ３に進むと判定する。（Ｎ−１）回目のループまでのステップＳ３或いはステップＳ４とで求めた置換個数の和と、Ｎ回目のステップＳ１で求めた置換個数の総和が、置換対象インスタンスの数より大きい場合はステップＳ４に進むと判定する。
【００６２】
ステップＳ３ではステップＳ１で算出した置換個数の小数点以下を切り捨て、この値を以後の置換個数とする。例えば、ループ１回目の場合で、ステップＳ１で遅延調整セルＮＸＥへの置換個数を求め、４．６個だった場合、小数点以下を切り捨て、以後は４個を置換個数とする。ループ２回目の場合で、ステップＳ１で遅延調整セルＮＸＤへの置換個数を求め、２．２個だった場合、小数点以下を切り捨て、以後は２個を遅延調整セルＮＸＤへの置換個数とする。このとき置換個数の和は（４＋２）＝６個となる。ここでは小数点以下を切り捨てで説明しているが、誤差を小さくする為に切り上げと併用して四捨五入の様に処理しても良い。
【００６３】
ステップＳ４は、調整方法指定情報２７を参照し、置換対象インスタンスの数から、（Ｎ−１）回目のループまでのステップＳ３或いはステップＳ４で求めた置換個数の和を減じ、余った数を置換個数とする。ループ１回目の処理でステップＳ４へ進む場合、これまでにステップＳ３で置換個数を求めた事はないので置換対象インスタンスの数からゼロを減じ、余った数、つまり置換対象インスタンスの数を置換個数とする。
【００６４】
例えば、置換対象インスタンスの数が１０個とし、（Ｎ−１）回目のループまでのステップＳ３或いはステップＳ４で求めた置換個数の和が８個、Ｎ回目の処理ステップＳ１で算出した置換個数が５個となった場合、置換個数の総和は（８＋５）＝１３個となるが、置換対象インスタンスの数が１０個なのでＮ回目のステップＳ１で算出した置換個数５個全てを置換することは出来ない。この場合、（１０−８）＝２個として、Ｎ回目のループでは２個のみを置換する。
【００６５】
ステップＳ５では、調整方法指定情報２７に含まれる調整方法指定と、初期配置セル、（Ｎ−１）回目のループまでにステップＳ１で求めた遅延する遅延調整セルの種類と数、及び遅延調整セルタイミングテーブル２５を参照し、ステップＳ１に戻るか、置換セル数決定部２の処理を終了させるかを、判定によって決める。
【００６６】
例えば調整方法指定が「ＮＭＯＳトランジスタのドライバビリティ増加」の場合で初期配置セルが遅延調整用セルＸＣ、遅延調整セルタイミングテーブル２５の内容が図６に示す内容であった場合で、かつループ１回目の場合、処理ステップＳ１では遅延調整セルＮＸＥへの置換個数を求めているが、遅延調整セルタイミングテーブル２５にある遅延調整セルＮＸＤへの置換個数を求めていない。よってこの場合はステップＳ１へ戻る。
【００６７】
また、調整方法が「ＮＭＯＳトランジスタのドライバビリティ増加」の場合で初期配置セルが遅延調整用セルＸＣ、遅延調整セルタイミングテーブル２５の内容が図６に示す内容であった場合で、かつループ２回目の場合、１回目のループの処理Ｓ２で遅延調整セルＮＸＥへの置換個数を求め、２回目のループの処理Ｓ２で遅延調整用セルＮＸＤへの置換個数を求めており、Ｎｃｈのドライバビリティが遅延調整用セルＸＣより大きな遅延調整用セルへの置換個数は全て求めている。よってこの場合は、これまでの処理で求めた置換するセルの種類と数を置換セル数種類指定情報２８として記録し、置換セル数決定部２の処理を終了させる。
【００６８】
次に、図８のフローチャートを用いて、遅延調整セル置換部３の動作について説明する。まず、ステップＳ１１では、置換セル数種類指定情報２８に基づいて、遅延調整開始セルとのドライバビリティの差が最も小さい遅延調整セルから、置換するインスタンスを決定する。
【００６９】
ステップＳ１２では、置換対象インスタンスのうち、どのインスタンスをステップＳ１１で選択した遅延調整用セルに置換するか決定する。置換間隔は、置換対象インスタンス数を、置換個数に１を加えた数で除して求める。小数点以下の値は切り上げを行う。置換対象インスタンスの中で、入力端子側から数えて、置換間隔の整数倍に位置するインスタンスを置換する事に決定する。
【００７０】
ステップＳ１３では、置換セル数種類指定情報２８で指定された置換するセルの種類の内、ステップＳ１２で置換するインスタンスを決定していないセルがある場合には、ステップＳ１１に戻り、ステップＳ１１とステップＳ１２の処理を置換セル数種類指定情報２８で指定されたすべての置換するセルの種類について繰り返す。置換セル数種類指定情報２８で指定されたセルの種類と数について、すべて置換するインスタンスが決定した場合は、どのインスタンスをどの種類の遅延調整セルに置換するかという情報をインスタンス置換情報２６（図１参照）として出力し、処理を終了する。インスタンス置換情報２６には、どのインスタンスをどの遅延調整セルに置換するかを示す情報が記述されている。
【００７１】
また、ここでは、インタンス置換情報２６を出力するまでで留まっているが、さらに、インスタンス置換情報２６に基づいて、ネットリスト２４を更新したり、レイアウトデータを更新したりすることも可能である。
【実施例１】
【００７２】
次に、第１の実施形態を具体的な事例に適用した実施例１について説明する。実施例１では、デューティ調整回路の入力端子ＩＮに入力するクロック信号の周波数を１ＧＨｚとし、デューティを５０％とする。ここでＳＴＡ（Ｓｔａｔｉｃ  Ｔｉｍｉｎｇ  Ａｎａｌｙｓｉｓ：静的タイミング解析）の結果から、出力端子ＯＵＴから出力されるクロック信号のハイ幅＝６９０ｐｓｅｃ、出力端子ＯＵＴから出力されるクロック信号のロウ幅＝３１０ｐｓｅｃとし、この情報をＳＴＡタイミング情報２１とする。すなわち、図９に示す入力端子ＩＮ、出力端子ＯＵＴの波形と同一の波形である。
【００７３】
次に図２に示すデューティ調整回路５０のインスタンス５１−１〜５１−１０の、インスタンス名と各インスタンスに用いられている遅延調整セル名、及び接続した順番がわかる情報を初期状態ネットリスト２４とする。
【００７４】
次に、インスタンス５１−１〜５１−１０は遅延調整セルＸＣが使われているものとし、これを初期使用セルとする（この場合遅延調整セルＸＣが遅延調整開始セルとなる）。ドライバビリティの増減は回路の仕様により任意に選択する必要があり、実施例１ではドライバビリティを増加する事とし、これをドライバビリティ指定情報２２とする。また、デューティ比を５０％に調整する事にし、これをデューティ比目標値２３とする。
【００７５】
遅延調整セルタイミングテーブル２５に記録されているテーブルのデータは、図６に記載の通りのデータが記録されているとする。調整方法決定部１は、タイミング情報２１とドライバビリティ指定情報２２、デューティ比目標値２３、初期状態ネットリスト２４を入力情報とし、デューティの調整方法を決定する。
【００７６】
まず、信号エッジの変動量は式（１）で表される。
【００７７】
信号エッジの変動量＝（ハイ幅＋ロウ幅）×ターゲットデューティ−ロウ幅
＝（６９０ｐｓｅｃ＋３１０ｐｓｅｃ）×５０％−３１０ｐｓｅｃ
＝１９０ｐｓｅｃ          式（１）
【００７８】
式（１）では目標値のロウ幅から初期状態のロウ幅を減算しており、結果が正の値なので、ロウ幅を１９０ｐｓｅｃ増加させる必要があることがわかる。その方法としては、図１０を用いてすでに説明したように、信号の立ち下がりエッジを１９０ｐｓｅｃ早める(図１０（ａ）参照)、或いは信号の立ち上がりエッジを１９０ｐｓｅｃ遅らせる(図１０（ｂ）参照)事でデューティを調整する事になる。すなわち、遅延調整セルの出力段ＮＭＯＳトランジスタのドライバビリティを増加する方法、或いはＰＭＯＳトランジスタのドライバビリティを削減する方法のいずれかの方法でデューティを調整する必要がある。
【００７９】
次にドライバビリティ指定情報２２が「ドライバビリティ増減目標」＝増加であるとすると、上記２つの調整方法と「ドライバビリティ増減目標」から、実施例１での調整方法は、出力段ＮＭＯＳトランジスタのドライバビリティを増加する調整方法に決定される。
【００８０】
次にドライバビリティ増減目標が増加なので、初期状態ネットリスト２４で使われている遅延調整セルの中で最もドライバビリティが少ないセルを遅延調整開始セルとする。ここでは遅延調整セルＸＣが遅延調整開始セルになる。また、遅延調整セルが使われているインスタンスの数を置換対象インスタンスの数とする。ここではインスタンス５１−１〜５１−１０全てに遅延調整セルＸＣが使われているものとし、置換対象インスタンス数は１０個とする。
【００８１】
次に置換セル数決定部２は、図７に示すステップＳ１において、調整方法指定情報２７として記録されている信号エッジの変動量（要調整遅延量情報）と初期配置セル（置換対象インスタンス情報）、デューティ調整方法（調整方法指定情報）、遅延調整セルタイミングテーブル２５を入力情報として、異なる遅延調整セルへの置換個数を算出する。デューティ調整方法が出力段ＮＭＯＳトランジスタのドライバビリティ増加なので、初期配置セルＸＣに対して出力段ＮＭＯＳトランジスタのドライバビリティが最も大きい遅延調整セルＮＸＥに置換する個数を最初に求める。遅延調整用セルＮＸＥへの置換個数ＲＥは、式（２）により求めることができる。
【００８２】
遅延調整用セルＮＸＥへの置換個数
＝立下がりを早める時間
／（遅延調整セルＸＣの立ち下がり時間と遅延調整セルＮＸＥの立下り時間の差）
＝｛（ハイ幅＋ロウ幅）×５０％−ロウ幅｝
／（遅延調整セルＸＣの立ち下がり時間−遅延調整用セルＮＸＥの立下り時間）
式（２）
【００８３】
式（２）を解くと、
遅延調整用セルＮＸＥへの置換個数
＝（（６９０＋３１０）×５０％−３１０）／（７８−５４）
＝７．９２
以上より、遅延調整用セルＮＸＥへの置換個数は７．９２個となる。
【００８４】
次に図７のステップＳ２では、これまでに各ループのステップＳ３、或いはステップＳ４で求めた置換個数＝０と今回のループの処理Ｓ２で求めた置換個数の総和＝７．９２個と、調整方法指定情報２７に含まれる置換対象インスタンス数＝１０を比較する。
【００８５】
すると、
置換個数の総和＝７．９２≦置換対象インスタンス数＝１０
となる。よって、次はステップＳ３に進む。
【００８６】
ステップＳ３ではステップＳ１で算出した置換個数＝７．９２の少数点以下を切り捨てる。つまり遅延調整セルＮＸＥへの置換個数は７個となる。
【００８７】
次にステップＳ５では調整方法指定情報２７に記録されたデューティ調整方法（調整方法指定情報）と、初期配置セル（置換対象インスタンス情報）、これまでにステップＳ１で置換個数を求めたセルの種類、遅延調整セルタイミングテーブル２５を入力情報とし、ステップＳ１に戻りループ処理を繰り返すか、置換セル数決定部２の処理を終了させるかを、判定によって決める。
【００８８】
ここではデューティ調整方法が「出力段ＮＭＯＳトランジスタのドライバビリティ増加」で遅延調整開始セルが遅延調整セルＸＣ、タイミングテーブル２５は図６のテーブルを適用する。これまでにステップＳ１で置換個数を求めたセルの種類は遅延調整セルＮＸＥのみである。よって遅延調整開始セルである遅延調整セルＸＣより出力段ＮＭＯＳトランジスタのドライバビリティが大きく、これまでに置換個数を求めていない遅延調整セルの中で最もドライバビリティが大きい遅延調整セルとして、遅延調整セルＮＸＤが存在する。よって次はステップＳ１に戻り処理を繰り返す。
【００８９】
ステップＳ１では、これまでに置換個数を求めていない遅延調整用セルの中で、初期使用セルに対して出力段ＮＭＯＳトランジスタのドライバビリティがＮＸＥに続いて２番目に大きい遅延調整セルＮＸＤへの置換個数を求める。遅延調整用セルＮＸＤへの置換個数ＲＥは、式（３）により求めることができる。
【００９０】
遅延調整セルＮＸＤへの置換個数
＝（立ち下がりを早める時間−ＮＸＥセルに置換した事で早まる時間）
／ＸＣセルの立ち下がり時間とＮＸＤセルの立ち下がり時間の差
＝｛（ハイ幅＋ロウ幅）×５０％−ロウ幅
−（ＸＣセルの立ち下がり時間−ＮＸＥセルの立ち下がり時間）｝
×ＮＸＥセルへの置換個数／（ＸＣセルの立ち下がり時間−ＮＸＤの立ち下がり時間）
＝｛（６９０＋３１０）×５０％−３１０―（７８−５４）｝＊７／（７８−６６）
＝１．８３            式（３）
【００９１】
以上より、式（３）に示すように、遅延調整用セルＮＸＤへの置換個数は１．８３個となる。
【００９２】
次にステップＳ２では、これまでのループ処理のステップＳ３、或いはステップＳ４で求めた置換個数と、今回のループ処理のステップＳ１で求めた置換個数の総和＝７＋１．８３個に対して、調整方法指定情報２７に含まれる置換対象インスタンスの数＝１０を比較する。
【００９３】
置換個数の総和＝８．８３  ＜  置換対象インスタンス数＝１０
となる。よって、次はステップＳ３に進む。
【００９４】
ステップＳ３ではステップＳ１で算出した置換個数＝１．８３の少数点以下を切り捨てる。つまり遅延調整セルＮＸＤへの置換個数は１個となる
【００９５】
次にステップＳ５では調整方法指定情報２７に記録されたデューティ調整方法（調整方法指定情報）と、初期配置セル（置換対象インスタンス情報）、これまでにステップＳ１で置換個数を求めたセルの種類、遅延調整セルタイミングテーブル２５を入力情報とし、ステップＳ１に戻りループ処理を繰り返すか、置換セル数決定部２の処理を終了させるかを、判定によって決める。
【００９６】
２回目の今回のステップＳ５では、これまでにステップＳ１で置換個数を求めた遅延調整用セルの種類は遅延調整セルＮＸＥと遅延調整セルＮＸＤの２種類である。よって遅延調整開始セルである遅延調整セルＸＣよりＮｃｈのドライバビリティが大きく、これまでに置換個数を求めていない遅延調整用セルは存在しない。初期状態の遅延調整セルＸＣのうち、遅延調整セルＮＸＥに置換する数（７個）と、遅延調整セルＮＸＤに置換する数（１個）を置換セル数種類指定情報２８に記録し、置換セル数決定部２の処理を終了する。
【００９７】
次に、遅延調整セル置換部３では、ネットリスト２４と、置換セル数種類指定情報を元に、どのインスタンスをどの遅延調整セルに置換するか決定する。置換するインスタンスが決定していない遅延調整セルの中で、まず遅延調整開始セルとのドライバビリティの差が最も小さい遅延調整セルについて、置換するインスタンスを決定する（図８のステップＳ１１）。すなわち、遅延調整セルＮＸＤに置換するインスタンス１箇所を選択することになる。
【００９８】
次に、遅延調整用セルＮＸＤに置換するインスタンスの間隔を求める事で置換するインスタンスを決定する（図８のステップＳ１２）。置換する間隔を求める理由は、バッファ列の途中から任意の遅延を選択して信号を使う事を考えると、デューティの調整はバッファ列全体で平均的に修正する方が、バッファ列の途中から引き出す信号に対してもデューティ比目標値２３に対するズレを最小にできる為である（実施例１では、デューティ調整回路に入力されるクロック信号のデューティ比と出力信号の目標値のデューティ比が同一であるため）。
【００９９】
遅延調整用セルＰＸＤに置換するインスタンスの間隔
＝置換対象インスタンス数／（遅延調整セルＰＸＤへの置換個数＋１）
＝１０／（１＋１）
＝５      式（４）
【０１００】
式（４）より置換するインスタンスの間隔が５なので、対象インスタンスのなかで５の整数倍の場所にあるインスタンスを置換する。（ここで整数倍した値が小数点以下の場合は繰り上げとする）
【０１０１】
つまり、図２のデューティ調整回路５０において、入力端子から５番目のインスタンス５１−５を初期状態の遅延調整セルＸＣから遅延調整セルＰＸＤに置換することになる。
【０１０２】
次に、図８のステップＳ１３で、置換セル数種類指定情報２８で置換が指定されている遅延調整セルと、これまでに遅延調整セル置換部が配置するインスタンスを決定した遅延調整セルとを比較すると、遅延調整セルＮＸＥに置換するインスタンスが決定されていない。従って、ステップＳ１１に戻り、次に遅延調整セルＮＸＥに置換するインスタンスを決定する。
【０１０３】
ステップＳ１２の遅延調整セルＮＸＥに置換するインスタンスの決定では、ネットリスト１４と、これまでに求めた各遅延調整セルの置換個数を元に、どのインスタンスをどの遅延調整セルに置換するか決定する。置換するインスタンスが決定していない遅延調整セルの中で、遅延調整開始セルとのドライバビリティの差が２番目に小さい遅延調整セルであるＮＸＥについて、置換するインスタンスを決定する。
【０１０４】
遅延調整用セルＮＸＥに置換するセルの間隔
＝置換対象インスタンス数／（遅延調整用セルＮＸＥへの置換個数＋１）
＝９／（７＋１）
＝１．１２５
【０１０５】
よって、遅延調整セルＮＸＥに置換するインスタンス７箇所は置換対象インスタンス１０箇所のなかで入力端子側から数えて１．１２５の整数倍のインスタンスを遅延調整セルＮＸＥに置換することになる。但し小数点以下は繰り上げとする。また、５番目のインスタンス５１−５は既に遅延調整セルＮＸＤに置換済みなので対象外となる。
【０１０６】
すなわち、遅延調整セルＮＸＥに置換するインスタンス７箇所は、
１．１２５×１＝１．１２５＝２番目＝インスタンス５１−２を置換
１．１２５×２＝２．２５０＝３番目＝インスタンス５１−３を置換
１．１２５×３＝３．３７５＝４番目＝インスタンス５１−４を置換
１．１２５×４＝４．５００＝５番目＝インスタンス５１−６を置換
１．１２５×５＝５．６２５＝６番目＝インスタンス５１−７を置換
１．１２５×６＝６．７５０＝７番目＝インスタンス５１−８を置換
１．１２５×７＝７．８７５＝８番目＝インスタンス５１−９を置換
となる。
【０１０７】
次に図８のステップＳ１３では、置換セル数種類指定情報２８で置換が指定されている遅延調整セルと、これまでに遅延調整セル置換部が配置するインスタンスを決定した遅延調整セルとを比較する。置換セル数種類指定情報２８で置換が指定されている遅延調整セルＮＸＤ１箇所と、ＮＸＥ７箇所を配置するインスタンスはすでに決定されており、置換するインスタンスを決定していない遅延調整セルが残っていない。従って、インスタンス置換情報２６(図１参照)を出力して処理を終了する。
【０１０８】
以上の処理によって、実施例１適用前の初期状態のデューティ比［式（５）参照］に対して、実施例１適用後のデューティ比は、式（６）に示す様に改善される。
【０１０９】
修正前のデューティ
＝（６９０／１０００）×１００
＝６９％      式（５）
【０１１０】
修正後のデューティ
＝｛（立ち下がり遅延＋半周期−立ち上がり遅延）／１０００｝×１００
＝｛（５４×７＋６６＋７８×２＋５００−５９０）／１０００｝×１００
＝５１％      式（６）
【０１１１】
［第２の実施形態］
図１１は、第２の実施形態における置換セル数決定部２の処理手順を示すフローチャートである。第２の実施形態のデューティ調整回路の設計装置は、図１において、置換セル数決定部２の置換セルの種類と数の決定の処理手順が第１の実施形態と異なるだけであり、置換セル数決定部２内部の処理手順が異なることを除いて第１の実施形態の設計装置１０と同一である。また、置換セル数決定部２の処理手順が第１の実施形態の置換セル数決定部２の処理手順と異なることにより、置換セル数決定部２が出力する置換セル数種類指定情報２８の内容は第１の実施形態とは異なった結果が得られるが、遅延調整セル置換部３の処理手順は、第１の実施形態と変える必要はない。
【０１１２】
第１の実施形態では、置換セルの決定にあたり、デューティ比の設計目標値と初期状態のデューティ比との差異の調整を最も大きく調整できる遅延調整セルを選択して置換を行っている。これに対して、第２の実施形態では、デューティ調整回路に用いられる遅延調整セル間でできるだけ遅延値が互いに等しい遅延調整セルを用いて、デューティ調整回路全体で、デューティ比が設計目標値に近づくように置換セルを決定する。
【０１１３】
図１１において、ステップＳ３１では、遅延調整エッジの遅延量の総和ＳＤを算出する。遅延調整エッジとは、図１０（ａ）に示すようにクロック信号の立ち下がりエッジの遅延量の増減によりデューティ比の調整を行う場合は、立ち下がりエッジが遅延調整エッジとなる。また、図１０（ｂ）に示すようにクロック信号の立ち上がりエッジの遅延量の増減によりデューティ比の調整を行う場合は、立ち上がりエッジが遅延調整エッジとなる。
【０１１４】
また、遅延調整エッジの遅延量の総和ＳＤとは、デューティ調整回路に初期状態で使用されている各遅延調整セルの遅延調整エッジの遅延量を遅延調整セルタイミングテーブル２５から求め、これをすべて加算し、デューティ調整回路全体での遅延調整エッジの遅延量の総和ＳＤとする。
【０１１５】
次にステップＳ３２では、デューティ調整回路全体での遅延量の目標値（目標となる調整エッジの遅延量の総和）ＴＳＤを求める。この全体での遅延量の目標値ＴＳＤは、調整方法指定情報２７に含まれる要調整遅延量（信号エッジの変動量：図１０において、目標値に対して変動が必要な遅延調整エッジの変動量）の遅延量をステップＳ３１で求めたＳＤに加算することで求める。要調整遅延量をＮＤとすると、ＴＳＤは、式（７）で求めることができる。ＮＤの符号は、エッジを早める方向に調整する場合は、負であり、エッジを遅くするように調整する場合は、正であるとする。
【０１１６】
ＴＳＤ＝ＳＤ＋ＮＤ      式（７）
【０１１７】
ステップＳ３３では、デューティ調整回路全体での遅延量の目標値ＴＳＤをデューティ調整回路内部で直列に接続されている遅延調整セルの総数で除し、遅延調整セル１個あたりの目標遅延値ＤＴを求める。
【０１１８】
ステップＳ３４では、遅延調整エッジの遅延量が目標遅延値ＤＴ以上の遅延調整セルと目標遅延値ＤＴ以下の遅延調整セルの両方が存在するか否か判定する。
【０１１９】
ステップＳ３４でＮｏの場合は、ステップＳ３６に進み、遅延調整エッジの遅延量が目標遅延値ＤＴ以上の遅延調整セルと目標遅延値ＤＴ以下の遅延調整セルの両方が存在しなければ、デューティ調整回路全体として、遅延量の総和の設計目標値ＴＳＤに設定することはできないので、遅延調整セルを目標遅延値ＤＴに最も遅延値が近い遅延調整セルに置き換えて処理を終了させる。
【０１２０】
ステップＳ３４で、Ｙｅｓの場合は、遅延量が目標遅延値ＤＴ以上で、かつ、目標遅延値ＤＴに最も近い遅延量を持つ遅延調整セルと、遅延量が目標遅延値ＤＴ以下で、かつ、目標遅延値ＤＴに最も近い遅延量を持つセルとの２種類のセルを組み合わせて、デューティ調整回路全体の目標遅延値ＴＳＤに近づく２種類のセルを用いる数の組み合わせを算出する。なお、２種類のセルを組み合わせる場合において、目標遅延値ＤＴと遅延量が同一であるか、極めて目標遅延値ＤＴに近い遅延量を持つ遅延調整セルが存在する場合には、結果としてその１種類のセルのみを用いることが最も目標遅延値ＤＴに近くなる場合が存在する。その場合には、遅延調整回路に用いられる２種類のセルの組み合わせは、一方が全部、他方がゼロになる。
【実施例２】
【０１２１】
第１の実施の形態で用いた実施例１と同じ事例を用いて、第２の実施の形態を実施した場合を検証する。実施例１と同様に、デューティ調整回路の入力端子ＩＮに入力するクロック信号の周波数は１ＧＨｚとし、デューティ比を５０％とする。また、ＳＴＡの結果から、出力端子ＯＵＴから出力されるクロック信号のハイ幅＝６９０ｐｓｅｃ、出力端子ＯＵＴから出力されるクロック信号のロウ幅＝３１０ｐｓｅｃである。実施例１と同様に、クロック信号の立ち下がりエッジを１９０ｐｓ早めることにより、デューティ比を５０％に調整することとする。
【０１２２】
ステップＳ３１では、遅延調整エッジがクロックの立ち下がりであるので、図６から初期状態で用いられている遅延調整セルの立ち下がりの遅延時間を合計し、デューティ調整回路全体での初期状態での立ち下がりエッジの遅延量を求める。初期状態の遅延調整セルは、すべてＸＣであり、その数は１０個であるので、遅延量の総和ＳＤは、式（８）の通りになる。
【０１２３】
ＳＤ＝７８ｐｓ×１０個＝７８０ｐｓ        式（８）
【０１２４】
ステップＳ３２では、遅延量の総和ＳＤ＝７８０ｐｓと要調整遅延量ＮＤ＝−１９０ｐｓを式（７）に代入してデューティ調整回路全体での遅延量の目標値ＴＳＤを求めると、式（９）のように計算できる。
【０１２５】
ＴＳＤ＝ＳＤ＋ＮＤ＝７８０ｐｓ−１９０ｐｓ＝５９０ｐｓ      式（９）
【０１２６】
ステップＳ３３よりＴＳＤ＝５９０ｐｓを総セル数１０で除すと、ＤＴ＝５９ｐｓが得られる。ステップＳ３４では、図６に示す遅延調整セルライブラリのセルの中に、立ち下がり遅延時間がＤＴ＝５９ｐｓ以上のセルＮＸＤ等と立ち下がり遅延時間がＤＴ＝５９ｐｓ以下のセルＮＸＥとが存在する。従って、ステップＳ３４の判定はＹｅｓとなり、ステップＳ３５に進む。
【０１２７】
ステップＳ３５では、立ち下がり遅延量がＤＴ（５９ｐｓ）以上で、かつ、ＤＴの遅延量に最も近い遅延量を持つセルＮＸＤと、立ち下がり遅延量がＤＴ（５９ｐｓ）以下で、かつ、ＤＴの遅延量に最も近い遅延量を持つセルＮＸＥとを組み合わせて、全体の立ち下がり遅延量がＴＳＤ＝５９０ｐｓとなる組み合わせを求める。その結果として、ＮＸＥを６個とＮＸＤを４個用いることにより、全体の遅延量を５８８ｐｓにすることができ、この組み合わせが最もＴＳＤ＝５９０ｐｓに近い組み合わせとして算出できる。修正後のデュ−ティ比は、４９．８％が得られる。ＮＸＥ６個とＮＸＤ４個をどの順番で配置するかは、遅延調整セル置換部３が決定する。
【０１２８】
以上、説明したように第２の実施形態によれば、デューティ調整回路に用いられる各遅延調整セルの遅延値が、デューティ調整回路に用いられている遅延調整セル全体の平均値に近い遅延値を持つ遅延調整セルを用いてデューティ調整回路全体でデューティ比が目標値に近くなるように設計しているので、デューティ調整回路の入力信号と出力信号のデューティ比がほぼ等しいならば、どの中間ノードのデューティ比も容易にほぼ入力信号と出力信号のデューティ比と等しくすることが可能である。
【０１２９】
また、デューティ調整回路の入力信号と出力信号のデューティ比が異なる場合には、中間ノードから、入力信号と出力信号のデューティ比の中間のデューティ比の信号を容易に取り出すことができる。例えば、入力信号のデューティ比が５０％、出力信号のデューティ比が７０％であるとして、デューティ調整回路が図２に示すような１０段直列に接続されている遅延調整セルにより構成されているとすると、入力からｎ段目（ｎは１０以下の自然数）の遅延調整セルからは、ほぼ（５０＋２ｎ）％のデューティ比の信号が得られることになる。たとえば、デューティ比がほぼ６０％のクロック信号も必要であれば、５段目の出力信号から取り出すことができる。
【０１３０】
［第３の実施形態］
第１の実施形態で説明した図６に示す遅延調整セルタイミングテーブルの遅延値は、配線長が最短である場合を想定した仮想的な遅延値である。また、周辺の隣接する配線の影響も考慮していない。従って、実際に遅延調整セルを半導体集積回路の半導体基板上にレイアウトした場合は、遅延調整セルの出力端子に接続される配線の長さ等に依存する負荷容量や隣接して配線された配線の影響により遅延値が図６に示すタイミングテーブルで示す遅延値から変動することも予想される。第３の実施形態は、そのような遅延調整セルが実際に半導体集積回路の半導体基板上にレイアウトされた場合の遅延を考慮して正確なデューティ比を得るデューティ調整回路の設計方法を示す。
【０１３１】
図１２は、第３の実施形態によるデューティ調整回路の設計方法全体の処理手順を示すフローチャートである。
【０１３２】
ステップＳ４１では、第１又は第２の実施形態のデューティ調整回路の設計装置を用い、デューティ調整回路の設計を行う。その詳細な手順は、第１及び第２の実施形態で説明したとおりである。
【０１３３】
ステップＳ４２では、デューティ調整回路やその周辺回路の半導体集積回路上でのレイアウトパターンを考慮して遅延解析を行う。遅延解析の方法としては、既知の遅延解析方法を用いることができる。例えば、ＳＴＡを用いて遅延解析を行うことができる。また、さらに高精度な遅延解析が必要であれば、動的な回路シミュレーションを実施して遅延解析を行ったり、実際にデューティ調整回路を備えた半導体集積回路を実測して遅延解析を行ったりすることも可能である。
【０１３４】
ステップＳ４３では、遅延解析結果に基づいて、デューティ比が設計目標の範囲内であるか否かを検証する。設計目標の範囲内であれば、デューティ調整回路の設計は完了である。もし、設計目標の範囲内に入っていなければ、ステップＳ４４に進む。
【０１３５】
ステップＳ４４では、デューティ調整回路の設計装置１０に与える初期値を更新する。例えば、図１において、タイミング情報２１は、ステップＳ４２による遅延解析結果によるタイミング情報に更新する。また、初期状態ネットリスト２４は、ステップＳ４１による設計完了後のネットリストに置き換える。なお、ステップＳ４１では、デューティ調整回路の回路構成自体は変更しておらず、デューティ調整回路に用いる遅延調整セルの種類を変更しただけであるので、ネットリスト２４もデューティ調整回路に用いられる遅延調整セルの種類を変更するだけである。
【０１３６】
ステップＳ４４の後、ステップＳ４１に戻り、再度デューティ調整回路の設計を修正する。そして、ステップＳ４３で、デューティ比が設計目標に達するまで、何度もこのループ処理を繰り返すことで、設計の精度を上げることができる。
【０１３７】
［第３の実施形態の応用例］
なお、図１２において、ステップＳ４２の遅延解析処理、ステップＳ４３の判定、ステップＳ４４の初期データの更新は、第１の実施形態又は第２の実施形態の設計装置１０に組み込むことも可能である。その場合は、図１において、インスタンス遅延情報２６に基づいて、ＳＴＡなどのシミュレーションにより遅延解析を行う遅延解析部と、遅延解析部の解析結果とデューティ比目標値２３とを入力し、デューティ比が設計目標を満たしているか否かを判定し、判定がＮＧの場合に、タイミング情報２１と初期状態ネットリスト２４を更新して、調整方法決定部１に設計をやり直させる制御部と、を図１の設計装置に付加すればよい。
【０１３８】
［第４の実施形態］
また、上記第１の実施形態、第２の実施形態、第３の実施形態の応用例で説明した設計装置の機能をコンピュータにコンピュータプログラムを実行させることにより実現することも可能である。第４の実施形態は、そのようなコンピュータプログラムの実施形態である。
【０１３９】
図１３は、第４の実施形態に用いることのできるコンピュータシステム１００のブロック図である。図１３のコンピュータシステム１００は、サーバコンピュータ１０２と、複数の端末コンピュータ１０４と、サーバコンピュータ１０２と端末コンピュータ１０４とを接続するネットワーク１０３とを備えている。
【０１４０】
サーバコンピュータ１０２の記憶部１０１には、コンピュータシステム１００全体、かつ／又は、端末コンピュータ１０４、サーバコンピュータ１０２を単体で第１の実施形態、第２の実施形態、又は、第３の実施形態の応用例で説明したデューティ調整回路の設計装置として機能させるコンピュータプログラムが格納されている。また、図１のタイミング情報２１、ドライバビリティ指定情報２２、デューティ比目標値２３、初期状態ネットリスト２４、遅延調整セルタイミングテーブル２５、インスタンス置換情報２６などの共通して使用する設計データもサーバコンピュータ１０２の記憶部１０１に格納しておくことが望ましい。調整方法指定情報２７、置換セル数種類指定情報２８などの中間的な設計データは、サーバコンピュータ１０２の記憶部１０１に格納されていても、端末コンピュータの図示しない記憶部に格納してもよい。
【０１４１】
コンピュータを第１の実施形態、第２の実施形態、又は、第３の実施形態の応用例で説明したデューティ調整回路の設計装置として機能させるコンピュータプログラムは、必要に応じて、サーバコンピュータ１０２の記憶部１０１から端末コンピュータの図示しない記憶部にダウンロードして実行させるものであってもよい。
【０１４２】
また、上記コンピュータプログラムは、ＣＤＲＯＭ、ＤＶＤ、ブルーレイディスクや、ハードディスク、不揮発性メモリ、バックアップ機能付きＲＡＭなど、コンピュータプログラムが固定して記録された光、磁気、半導体記録媒体を介してコンピュータシステム１００にインストールすることができる。なお、記録媒体がコンピュータプログラムを固定して記録できるものであることは、その記録媒体を用いてコンピュータプログラムをコンピュータにインストールするまでの期間、コンピュータプログラムを記録媒体に記録を留めておけるものであるか、コンピュータプログラムが消失しないように保存しておけるものであればどのようなものであってもよい。また、上記コンピュータプログラムは、記録媒体を用いずとも、インターネット等を介してオンラインでコンピュータシステム１００にインストールすることも可能である。
【０１４３】
なお、上記第１の実施形態、第２の実施形態では、図１記載の設計装置を用いて、デューティ調整回路の設計を行う形態について説明したが、本発明のデューティ調整回路の設計方法は、図１記載の設計装置以外の手段を用いて設計することも可能である。すなわち、ネットリストと、タイミング情報と、ドライバビリティ指定情報と、デューティ比の目標値に基づいてデューティ比の調整方法を決定するステップと、異なる種類の遅延調整セルに置換する数と種類を決定する置換セル数決定ステップと、置換セル数決定ステップの決定に基づいて、縦続接続された複数の遅延調整セルから選択したセルを遅延する遅延調整セル置換ステップと、を実行することによりデューティ調整回路の設計を行うことができる。
【０１４４】
特に、遅延調整セル置換ステップにより、デューティ調整回路全体の中で各部分の遅延ができるだけ均等に調整できるように置換する遅延調整セルの種類と位置を決定することにより、出力信号のデューティ比の設計目標値が入力信号のデューティ比に等しい場合には、入力信号、及び／又は、出力信号とデューティ比がほぼ等しく、位相がずれた信号を中間ノードから容易に取り出すことができる。また、入力信号と、出力信号のデューティ比の目標値が異なる場合には、入力信号と、出力信号との中間のデューティ比の信号を中間ノードから容易に取り出すことができる。
【０１４５】
上記実施形態では、設計対象とするデューティ調整回路が、正転バッファを複数直列に接続された回路である場合を、本発明の適用に好ましいデューティ調整回路の例として説明した。しかし、本発明の設計装置は、正転バッファのみが縦続接続されたデューティ調整回路に限られるわけではない。縦続接続された正転バッファの間に論理回路等を介在している回路であって、論理回路の論理が固定されたときに、デューティ調整回路の出力端子から所望のデューティ比の信号が得られる回路であれば、適用可能である。その場合は、遅延調整セル置換部は、途中に介在する論理回路の遅延を考慮し、全体で均等に遅延するように遅延調整セルを置換することができる。
【０１４６】
本発明の全開示（特許請求の範囲及び図面を含む）の枠内において、さらにその基本的技術思想に基づいて、実施例ないし実施例の変更・調整が可能である。また、本発明の特許請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、特許請求の範囲及び図面を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１４７】
１：調整方法決定部
２：置換セル数決定部
３：遅延調整セル置換部
１０：デューティ調整回路の設計装置
２１：タイミング情報
２２：ドライバビリティ指定情報
２３：デューティ比目標値
２４：（初期状態）ネットリスト
２５：遅延調整セルタイミングテーブル
２６：インスタンス置換情報
２７：調整方法指定情報
２８：置換セル数種類指定情報
５０：デューティ調整回路
５１−１〜５１−１０、５１ａ、５１ｂ、５１ｃ：遅延調整セル
５２：入力段
５３：出力段
５４：入力端子ＩＮ
５５：出力端子ＯＵＴ
５６ａ、５６ｂ：メタル配線
５７：コンタクト
５８：ゲートポリシリ
５９：Ｐ拡散層
６０：Ｎ拡散層
１００：コンピュータシステム
１０１：記憶部
１０２：サーバコンピュータ
１０３：ネットワーク
１０４：端末コンピュータ
１１：正転セル
１２：反転セル
【図１】
2012155471.tif 000003
【図２】
2012155471.tif 000004
【図３】
2012155471.tif 000005
【図４】
2012155471.tif 000006
【図５】
2012155471.tif 000007
【図６】
2012155471.tif 000008
【図７】
2012155471.tif 000009
【図８】
2012155471.tif 000010
【図９】
2012155471.tif 000011
【図１０】
2012155471.tif 000012
【図１１】
2012155471.tif 000013
【図１２】
2012155471.tif 000014
【図１３】
2012155471.tif 000015
【図１４】
2012155471.tif 000016
【図１５】
2012155471.tif 000017