(57)【要約】【課題】製造工程においてプロセスばらつきが発生しても、信号のデューティ比が変化しないバッファチェーンを備える半導体装置の設計方法を提供する。【解決手段】複数のバッファを直列に接続して構成されたバッファチェーンを備える半導体装置において、バッファチェーンを構成する各々のバッファの遅延時間が等しくなるように、各々のバッファが駆動する外部負荷に応じて、各々のバッファの駆動能力を設定する。【選択図】図２
2004235309.tif 000002
【特許請求の範囲】
【請求項１】
複数のバッファを直列に接続して構成されたバッファチェーンを備える半導体装置において、
前記バッファチェーンを構成する各々のバッファの遅延時間が等しくなるように、各々の前記バッファが駆動する外部負荷に応じて、各々の前記バッファの駆動能力を設定することを特徴とする半導体装置の設計方法。
【請求項２】
前記外部負荷として、前記バッファチェーンのｉ番目のバッファが駆動する容量値がＣｉ  であり、このｉ番目のバッファの次段に接続されたｉ＋１番目のバッファが駆動する容量値がＣｉ＋１  である場合に、前記ｉ番目のバッファの駆動能力を、ｉ＋１番目のバッファの駆動能力のＣｉ  ／Ｃｉ＋１  倍に設定する請求項１に記載の半導体装置の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロックツリー等で用いられるバッファチェーンを備える半導体装置の設計方法に関するものである。
【０００２】
【従来の技術】
従来より、半導体装置で用いられるクロックツリー等のバッファチェーンを作成する場合、チェーンの末端における信号同士のスキューが最小になるように遅延時間を調整する自動合成ツールを用いるのが一般的である。
【０００３】
クロックツリーの場合、その末端におけるクロック信号同士のスキューが最小になるように、実回路においてクロック信号が供給されるフリップフロップの配置情報等の物理情報を参照し、配線および駆動すべき負荷を考慮して最適なバッファ、インバータ等のセルが選択されクロックツリーが自動合成される。この手法で最適化された半導体装置は、クロックツリーの末端におけるクロック信号同士の遅延時間を高い精度で一致させることが可能である。
【０００４】
しかし、大規模半導体装置のように、バッファチェーンを構成するバッファの段数が非常に多くなるような用途では、チェーンの末端における信号のデューティ比が変わってしまうという問題がある。
【０００５】
上記クロックツリーの場合、クロック信号の立ち上がりで動作するフリップフロップと立ち下がりで動作するフリップフロップの両方を用いるアプリケーションにおいて、デューティ比のずれによりタイミングマージンが大きく減少するといった問題が発生する。また、標準条件でデューティ比が等しいようにクロックツリーを構成できたとしても、製造プロセスのばらつきによって、クロック信号のデューティ比が変化してしまうという問題がある。
【０００６】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点を解消し、製造工程においてプロセスばらつきが発生しても、信号のデューティ比が変化しないバッファチェーンを備える半導体装置の設計方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数のバッファを直列に接続して構成されたバッファチェーンを備える半導体装置において、
前記バッファチェーンを構成する各々のバッファの遅延時間が等しくなるように、各々の前記バッファが駆動する外部負荷に応じて、各々の前記バッファの駆動能力を設定することを特徴とする半導体装置の設計方法を提供するものである。
【０００８】
ここで、前記外部負荷として、前記バッファチェーンのｉ番目のバッファが駆動する容量値がＣｉ  であり、このｉ番目のバッファの次段に接続されたｉ＋１番目のバッファが駆動する容量値がＣｉ＋１  である場合に、前記ｉ番目のバッファの駆動能力を、ｉ＋１番目のバッファの駆動能力のＣｉ  ／Ｃｉ＋１  倍に設定するのが好ましい。
【０００９】
【発明の実施の形態】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の半導体装置の設計方法を詳細に説明する。
【００１０】
図１は、バッファチェーンの動作を表す一実施形態の構成概念図である。同図（ａ）は、入力信号の立ち上がり時のバッファチェーンの動作を表し、同図（ｂ）は、入力信号の立ち下がり時のバッファチェーンの動作を表す。
【００１１】
図１に示すバッファチェーンは、説明を簡単にするために、２つのインバータｉｎｖ１，ｉｎｖ２を直列に接続したものである。インバータｉｎｖ１は、電源とグランドとの間に直列に接続されたＰ型ＭＯＳトランジスタ（以下、ＰＭＯＳという）Ｐ１と、Ｎ型ＭＯＳトランジスタ（以下、ＮＭＯＳという）Ｎ１とから構成され、同様にインバータｉｎｖ２は、電源とグランドとの間に直列に接続されたＰＭＯＳＰ２と、ＮＭＯＳＮ２とから構成されている。
【００１２】
インバータｉｎｖ２の入力端子、すなわちＰＭＯＳＰ２のゲートおよびＮＭＯＳＮ２のゲートには入力信号が共通に入力されている。インバータｉｎｖ２の出力端子、すなわちＰＭＯＳＰ２のドレインとＮＭＯＳＮ２のドレインとの接続点から出力される信号がインバータｉｎｖ１の入力端子、すなわちＰＭＯＳＰ１のゲートおよびＮＭＯＳＮ１のゲートに共通に入力されている。また、インバータｉｎｖ１のＰＭＯＳＰ１のドレインとＮＭＯＳＮ１のドレインとの接続点がインバータｉｎｖ１の出力端子となっている。
【００１３】
入力信号が立ち上がる時、図１（ａ）に示すように、インバータｉｎｖ２のＮＭＯＳＮ２およびインバータｉｎｖ１のＰＭＯＳＰ１がオフからオンに遷移し、インバータｉｎｖ２のＰＭＯＳＰ２およびインバータｉｎｖ１のＮＭＯＳＮ１がオンからオフに遷移する。
【００１４】
ここで、インバータｉｎｖ１，ｉｎｖ２の出力端子に接続された配線の容量をそれぞれＣ１，Ｃ２とし、インバータｉｎｖ１の入力容量をＣｐ１＋Ｃｎ１とする。なお、Ｃｐ１およびＣｎ１は、それぞれインバータｉｎｖ１のＰＭＯＳＰ１およびＮＭＯＳＮ１のゲート容量である。
【００１５】
インバータｉｎｖ１，ｉｎｖ２の固有遅延が小さく、外部負荷による遅延時間が支配的な場合、インバータｉｎｖ１，ｉｎｖ２の固有遅延を無視すれば、入力信号の立ち上がり時におけるバッファチェーンの遅延時間Ｔｒｉｓｅは、
Ｔｒｉｓｅ＝（Ｃ２＋Ｃｐ１＋Ｃｎ１）／Ｋｎ２＋Ｃ１／Ｋｐ１
である。ここで、Ｋｐ１，Ｋｎ２は、それぞれインバータｉｎｖ１のＰＭＯＳＰ１およびインバータｉｎｖ２のＮＭＯＳＮ２の駆動能力であり、単位容量を駆動するために必要な遅延時間を表す。
【００１６】
また、入力信号が立ち下がる時、図１（ｂ）に示すように、インバータｉｎｖ２のＰＭＯＳＰ２およびインバータｉｎｖ１のＮＭＯＳＮ１がオフからオンに遷移し、インバータｉｎｖ２のＮＭＯＳＮ２およびインバータｉｎｖ１のＰＭＯＳＰ１がオンからオフに遷移する。
【００１７】
同様に、インバータｉｎｖ１，ｉｎｖ２の固有遅延を無視すれば、入力信号の立ち下がり時におけるバッファチェーンの遅延時間Ｔｆａｌｌは、
Ｔｆａｌｌ＝（Ｃ２＋Ｃｐ１＋Ｃｎ１）／Ｋｐ２＋Ｃ１／Ｋｎ１
である。ここで、Ｋｐ２，Ｋｎ１は、それぞれインバータｉｎｖ２のＰＭＯＳＰ２およびインバータｉｎｖ１のＮＭＯＳＮ１の駆動能力であり、単位容量を駆動するために必要な遅延時間を表す。
【００１８】
ここで、バッファチェーンの出力信号のデューティ比が等しいということは、バッファチェーンへの入力信号の立ち上がり時と立ち下がり時において、バッファチェーンの出力信号の遅延時間が等しいということ、すなわち、
Ｔｒｉｓｅ＝Ｔｆａｌｌ
となることを意味する。従って、
（Ｃ２＋Ｃｐ１＋Ｃｎ１）／Ｋｎ２＋Ｃ１／Ｋｐ１＝（Ｃ２＋Ｃｐ１＋Ｃｎ１）／Ｋｐ２＋Ｃ１／Ｋｎ１
である。
【００１９】
上記式を変形すると、
Ａ（１／Ｋｎ２−１／Ｋｐ２）＝１／Ｋｎ１−１／Ｋｐ１  …  （１）
または、
Ａ／Ｋｎ２−１／Ｋｎ１＝Ａ／Ｋｐ２−１／Ｋｐ１  …  （２）
となる。ここで、
Ａ＝（Ｃ２＋Ｃｐ１＋Ｃｎ１）／Ｃ１
である。
【００２０】
上記式（１）は、
Ｋｎ１＝Ｋｐ１  かつ  Ｋｎ２＝Ｋｐ２  …  （３）
の場合に成立する。
また、上記式（２）は、
Ｋｎ２＝Ａ＊Ｋｎ１  かつ  Ｋｐ２＝Ａ＊Ｋｐ１  …  （４）
の場合に成立する。
【００２１】
ここで、上記式（３）は、インバータｉｎｖ１のＰＭＯＳＰ１とＮＭＯＳＮ１の駆動能力を等しくし、なおかつインバータｉｎｖ２のＰＭＯＳＰ２とＮＭＯＳＮ２の駆動能力を等しくするという条件を示している。
【００２２】
しかし、ある条件下で式（３）が成立するように設計を行ったとしても、ＰＭＯＳおよびＮＭＯＳはそれぞれ独立な工程を経て製造されるため、両者の駆動能力が常に一定になるとは限らない。実際には、製造プロセスのばらつきによって、ＰＭＯＳおよびＮＭＯＳの駆動能力が±３０％程度個別に変動するため式（３）が成立しなくなり、バッファチェーンの出力信号のデューティ比が大きくずれる場合がある。
【００２３】
これに対し、式（４）が本発明の提案する条件式である。式（４）は、インバータｉｎｖ２のＮＭＯＳＮ２の駆動能力をインバータｉｎｖ１のＮＭＯＳＮ１の駆動能力のＡ倍とし、なおかつインバータｉｎｖ２のＰＭＯＳＰ２の駆動能力をインバータｉｎｖ１のＰＭＯＳＰ１の駆動能力のＡ倍にするという条件を示している。
【００２４】
ここで、配線容量Ｃ１，Ｃ２、ゲート容量Ｃｐ１，Ｃｎ１等の容量値は製造プロセスのばらつきに対して比較的安定している。また、製造プロセスのばらつきが生じると、インバータｉｎｖ１のＮＭＯＳＮ１とインバータｉｎｖ２のＮＭＯＳＮ２の駆動能力は、ほぼ一様に同じ割合で変化する。従って、設計時に駆動能力Ｋｎ１，Ｋｎ２を適宜設定すれば、製造プロセスのばらつきが生じても、バッファチェーンの出力信号のデューティ比への影響を最小限に抑え込むことができる。ＰＭＯＳについても同様である。
【００２５】
また、式（４）において、ＰＭＯＳおよびＮＭＯＳ共に係数Ａは同じである。インバータを構成するＰＭＯＳとＮＭＯＳに関して同じ条件式が成立するということは、ＰＭＯＳおよびＮＭＯＳの駆動能力の比が一定であるような系においては、条件式が１つで済むということを意味している。すなわち、この場合、式（４）は、インバータｉｎｖ２の駆動能力をインバータｉｎｖ１の駆動能力のＡ倍にするということと等価である。
【００２６】
一般的に、スタンダードセルやゲートアレイのように、セミカスタム方式の設計手法を用いる半導体装置では、ＰＭＯＳとＮＭＯＳの大きさの比を一定に保った基本セルと、基本セルの駆動能力を定数倍したドライバセルとを用いてセル設計が行われている。従って、インバータｉｎｖ１のＡ倍の駆動能力を持つインバータｉｎｖ２を設計することは、基本セルの定数倍の駆動能力を持つセルを設計するセミカスタム方式の設計手法を用いる半導体装置に適しているといえる。
【００２７】
次に、本発明を適用して設計されたバッファチェーンについて説明する。
【００２８】
図２は、本発明の半導体装置の設計方法を適用するバッファチェーンの一実施形態の構成概念図である。同図に示すバッファチェーンは、４つのインバータｉｎｖ０，ｉｎｖ１，ｉｎｖ２，ｉｎｖ３を直列に接続したものである。
【００２９】
ここで、最終段のインバータｉｎｖ０を基本セルとして、その駆動能力をＫ、入力容量をＣｉｎとする。また、その他のインバータｉｎｖ１，ｉｎｖ２，ｉｎｖ３の駆動能力はそれぞれａ１＊Ｋ、ａ２＊Ｋ、ａ３＊Ｋである。また、各々のインバータｉｎｖ０，ｉｎｖ１，ｉｎｖ２，ｉｎｖ３の出力端子に接続された配線の容量をそれぞれＣ０，Ｃ１，Ｃ２，Ｃ３とする。
【００３０】
このバッファチェーンにおいて、インバータｉｎｖ１の駆動能力は、前出の式（４）を適用すると、
ａ１＊Ｋ＝（Ｃｉｎ＋Ｃ１）／Ｃ０＊Ｋ
となり、係数ａ１は、
ａ１＝（Ｃｉｎ＋Ｃ１）／Ｃ０
となる。
【００３１】
また、インバータｉｎｖ２の駆動能力は、
ａ２＊Ｋ＝（ａ１＊Ｃｉｎ＋Ｃ２）／（Ｃｉｎ＋Ｃ１）＊ａ１＊Ｋ
となり、係数ａ２は、
ａ２＝（ａ１＊Ｃｉｎ＋Ｃ２）／（Ｃｉｎ＋Ｃ１）＊（Ｃｉｎ＋Ｃ１）／Ｃ０＝（ａ１＊Ｃｉｎ＋Ｃ２）／Ｃ０
となる。
【００３２】
同様に、係数ａ３は、
ａ３＝（ａ２＊Ｃｉｎ＋Ｃ３）／Ｃ０
となる。以上のように、バッファチェーンを構成する各インバータｉｎｖ１，ｉｎｖ２，ｉｎｖ３の係数ａ１，ａ２，ａ３を計算によって一意に求めることができる。
【００３３】
次に、各段のインバータｉｎｖ０，ｉｎｖ１，ｉｎｖ２，ｉｎｖ３の遅延時間Ｔ０，Ｔ１，Ｔ２，Ｔ３を計算する。遅延時間は、負荷容量を駆動能力でわり算すれば求めることができる。従って、
Ｔ０＝Ｃ０／Ｋ
Ｔ１＝（Ｃｉｎ＋Ｃ１）／（（Ｃｉｎ＋Ｃ１）／Ｃ０＊Ｋ）＝Ｃ０／Ｋ
Ｔ２＝（ａ１＊Ｃｉｎ＋Ｃ２）／（（ａ１＊Ｃｉｎ＋Ｃ２）／Ｃ０＊Ｋ）＝Ｃ０／Ｋ
Ｔ３＝（ａ２＊Ｃｉｎ＋Ｃ３）／（（ａ２＊Ｃｉｎ＋Ｃ３）／Ｃ０＊Ｋ）＝Ｃ０／Ｋ
となる。
【００３４】
このように、図２に示すバッファチェーンを構成する各段のインバータｉｎｖ０，ｉｎｖ１，ｉｎｖ２，ｉｎｖ３の遅延時間は、配線容量や入力容量に関係なく常に一定値となる。各段のインバータの遅延時間が等しければ、製造プロセスのばらつきによって、各段のインバータの遅延時間が一様に変化しても、バッファチェーン全体としての変化量が均一に変化するため、バッファチェーン全体として出力信号のデューティ比が変化しないことになる。
【００３５】
なお、バッファチェーンは、複数段の論理ゲートを直列に接続して構成されたものであればよく、例えばクロックツリーのようにツリー状に構成されたものでもよい。また、バッファもインバータに限定されず、どのような論理ゲートであってもよい。また、外部負荷として、配線容量やゲート容量の容量値を例に挙げて説明したが、例えば配線抵抗やトランジスタのオン抵抗などの抵抗値や他の負荷成分を加味して遅延時間を算出するようにしてもよい。
【００３６】
本発明は、基本的に以上のようなものである。
以上、本発明の半導体装置の設計方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【００３７】
【発明の効果】
以上詳細に説明した様に、本発明の半導体装置の設計方法は、複数のバッファを直列に接続して構成されたバッファチェーンを備える半導体装置において、バッファチェーンを構成する各々のバッファの遅延時間が等しくなるように、各々のバッファが駆動する外部負荷に応じて、各々のバッファの駆動能力を設定するようにしたものである。
これにより、本発明の半導体装置の設計方法によれば、製造プロセスがばらついたとしても、バッファチェーンの出力信号のデューティ比がばらつくのを防止することができる。このため、バッファチェーンの出力信号の立ち上がりと立ち下がりの両方を利用して動作する装置のタイミングマージンを確保し、回路の誤動作を防止することができる。
【図面の簡単な説明】
【図１】（ａ）および（ｂ）は、それぞれ入力信号の立ち上がり時および立ち下がり時のバッファチェーンの動作を表す一実施形態の構成概念図である。
【図２】本発明の半導体装置の設計方法を適用するバッファチェーンの一実施形態の構成概念図である。
【符号の説明】
ｉｎｖ０，ｉｎｖ１，ｉｎｖ２，ｉｎｖ３  インバータ
Ｐ１，Ｐ２  Ｐ型ＭＯＳトランジスタ
Ｎ１，Ｎ２  Ｎ型ＭＯＳトランジスタ
Ｃ０，Ｃ１，Ｃ２，Ｃ３  配線容量
Ｃｉｎ  入力容量
【図１】
2004235309.tif 000003
【図２】
2004235309.tif 000004