(57)【特許請求の範囲】
【請求項１】
クロック信号の供給を必要とする素子が形設されたＩ／Ｏセルを、Ｉ／Ｏセル配置領域に配設する半導体集積回路のレイアウト設計手法において、
クロック信号の供給タイミングを制御する素子が形設されたＩ／Ｏセルを、前記Ｉ／Ｏセル配置領域に配設し、前記クロック信号の供給を必要とする素子に直接接続されるクロック信号の供給線をブロック間配線領域に形設することを特徴とする半導体集積回路のレイアウト設計手法。
【請求項２】
前記クロック信号の供給を必要とする素子が形設されたＩ／Ｏセル内に、前記クロック信号の供給タイミングを制御する素子を配設することを特徴とする請求項１記載の半導体集積回路のレイアウト設計手法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のＩ/Ｏセル配置領域に配設されたクロック信号の供給を必要とする素子に供給するクロック信号のスキューを制御する半導体集積回路のレイアウト設計手法に関するものである。
【０００２】
【従来の技術】
半導体集積回路の微細化，高密度化が進んで、大規模且つ高速の半導体集積回路が開発されるのに伴い、半導体集積回路の線路長の増加による信号の遅延値の増加が無視できなくなってきた。特に、クロック信号の遅延値差(以下「スキュー」という)が大きい場合、フリップフロップ等のようにクロック信号の供給を必要とする素子へのクロック信号の到達時間に差が生じて、半導体集積回路が誤動作したり、動作しなくなる等の悪影響を及ぼす。
【０００３】
そこで、これ等の悪影響を解消するための同期回路の設計方法として「スーパバッファ方式」，「クロックツリー方式」等が提案されているが、半導体集積回路のレイアウト設計手法では、Ｉ/Ｏセル配置領域とそれ以外の論理回路部分のコア領域とを分けて設計するのが一般的である。
【０００４】
例えば、フリップフロップ等のようにクロック信号の供給を必要とする素子が形設されたＩ/ＯセルをＩ/Ｏセル配置領域に配置する半導体集積回路の場合には、従来、「スーパバッファ方式」と呼ばれるクロック信号の供給方法が採られてきた。
【０００５】
図５はスーパバッファ方式を用いた従来の半導体集積回路のレイアウト設計手法によるレイアウト、図６は図５の半導体集積回路のＩ/Ｏセル配置領域に配設するＩ/Ｏセルの拡大図で、501は、クロック信号の供給を必要とする素子、例えばフリップフロップと、このフリップフロップにクロック信号を供給する供給線チップ601とを形設したＩ/Ｏセル〔図６(ａ)参照〕、502は、供給線チップ601と、この供給線チップ601へのクロック信号の供給タイミングを制御する素子、例えばバッファとを形設したＩ/Ｏセル〔図６(ｂ)参照〕、511はＩ/Ｏセル501或いは502を配設するＩ/Ｏセル配置領域である。
【０００６】
このような構成を有する従来例において、Ｉ/Ｏセル501或いは502を半導体集積回路のＩ/Ｏセル配置領域511に隣接させて配設すると、Ｉ/Ｏセル501或いは502の供給線チップ601が接続されて、クロック信号の供給線503(図５参照)が全てＩ/Ｏセル配置領域511に形成されるので、Ｉ/Ｏセル501のフリップフロップに供給されるクロック信号のスキューが軽減できる。
【０００７】
又、図７はクロックツリー方式を用いた従来のレイアウト設計手法による半導体集積回路のレイアウトで、701は系統Ａのクロック信号の供給線、702は系統Ｂのクロック信号の供給線、711乃至714はクロック信号の供給タイミングを制御する素子、例えばバッファで、バッファ711は供給線701に接続され、バッファ712は供給線702に接続され、バッファ713及び714はバッファ712に並列に接続されて２段のクロックツリーを構成している。721はバッファ711からクロック信号を供給される素子、例えばフリップフロップを形設したＩ/Ｏセル、722はバッファ713及び714からそれぞれクロック信号を供給される素子、例えばフリップフロップを形設したＩ/Ｏセル、731はハードマクロブロック、732は論理セル配置領域、733はブロック間配線領域、741はＩ/Ｏセル721或いは722を配設するＩ/Ｏセル配置領域、742はハードマクロブロック731，論理セル配置領域732及びブロック間配線領域733を形設する論理回路部分のコア領域である。
【０００８】
このように構成された従来例では、系統Ａの１つのバッファ711が複数のＩ/Ｏセル721へのクロック信号の供給タイミングを制御し、クロックツリーを構成する系統Ｂの複数のバッファ712乃至714が複数のＩ/Ｏセル722へのクロック信号の供給タイミングを制御しているので、Ｉ/Ｏセル721及び722のフリップフロップに供給されるクロック信号のスキューが軽減できる。
【０００９】
又、Ｉ/Ｏセル配置領域741に配設したフリップフロップ等の素子へのクロック信号の供給系統が３つ以上であっても、同様にクロック信号のスキューが軽減できる。
【００１０】
【発明が解決しようとする課題】
ところで、スーパバッファ方式を用いた従来のレイアウト設計手法では、半導体集積回路のＩ/Ｏセル配置領域にＩ/Ｏセルを配設すれば、供給線がＩ/Ｏセル配置領域に形成されるので、供給線の配線が、論理回路部分のレイアウトに影響されることなく、自由にできるという利点がある。
【００１１】
しかしながら、１チップの半導体集積回路の中に複数のクロック系統が存在する場合には、系統が異なるＩ/ＯセルをＩ/Ｏセル配置領域に入れ子状に混在させて配設することはできず、同一系統のＩ/Ｏセルはまとめて配設しなければならないので、Ｉ/ＯセルがＩ/Ｏセル配置領域に自由に配設できないという問題があった。
【００１２】
又、同一系統のＩ/ＯセルをＩ/Ｏセル配置領域にまとめて配設しようとすると、Ｉ/Ｏセル配置領域へのＩ/Ｏセルの配設範囲が広がって、供給線の線路長が長くなるので、スキューを抑えきれないか、若しくは、半導体集積回路の面積増加を伴うという問題があった。
【００１３】
他方、クロックツリー方式を用いた従来のレイアウト設計手法では、供給線をブロック間配線領域に配線するので、Ｉ/ＯセルをＩ/Ｏセル配置領域に自由に配設できるという利点がある。
【００１４】
しかしながら、バッファは論理セル配置領域に形設しなければならないので、バッファの配置及び供給線の配線が論理回路部分の回路構成，レイアウト等の影響を強く受けるようになる。例えば、図７の如き配線では、バッファ711を論理セル配置領域732の最も左上の位置に配設する等して、クロック信号のスキューを低減させる必要があり、バッファの配置及び供給線の配線によってはクロック信号のスキューが却って大きくなるという問題があった。
【００１５】
又、クロックツリーを構成する複数のバッファの配置及び供給線の配線は、多くの要素を考慮しなければならないので、専用のアルゴリズムを備えた自動配置配線装置を使用しなければならない上、バッファの配置及び供給線の配線を変更する毎に自動配置配線装置を同時に開発しなければならないので、半導体集積回路のレイアウト設計方法及び自動配置配線装置の開発に要する期間及び費用が増加するという問題があった。
【００１６】
本発明は、このような問題を解決するためになされたもので、Ｉ/Ｏセル配置領域に配設するＩ/Ｏセルのフリップフロップ等の素子に供給するクロック信号のスキューを簡単に制御できる半導体集積回路のレイアウト設計方法を提供するものである。
【００１７】
【課題を解決するための手段】
本発明は、クロック信号の供給を必要とする素子が形設されたＩ／Ｏセルを、Ｉ／Ｏセル配置領域に配設する半導体集積回路のレイアウト設計手法において、クロック信号の供給タイミングを制御する素子が形設されたＩ／Ｏセルを、前記Ｉ／Ｏセル配置領域に配設し、前記クロック信号の供給を必要とする素子に直接接続されるクロック信号の供給線をブロック間配線領域に形設するものである。
【００１８】
本発明の半導体集積回路のレイアウト設計方法によれば、クロック信号の供給範囲が広かったり、クロック信号の供給系統が複数存在する場合でも、１チップの半導体集積回路の面積及び供給線の線路長をほとんど増加させることなく、バッファの配置及び供給線の配線が自由に行えるので、クロック信号のスキューを簡単に小さくできる。
【００１９】
又、本発明の半導体集積回路のレイアウト設計方法によれば、特殊なアルゴリズムを実現する自動配置配線装置を新たに開発することなく、既に開発した自動配置配線装置によってバッファの配置及び供給線の配線が行えるので、クロック信号のスキューが小さい半導体集積回路のレイアウト設計方法の開発に要する期間及び費用が減少する。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態について図面の図１乃至図４をを参照しながら説明する。
【００２１】
図１は本発明の第１の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウト、図２は図１の半導体集積回路のＩ/Ｏセル配置領域に配置するＩ/Ｏセルの拡大図で、101は、クロック信号の供給を必要とする素子、例えばフリップフロップ401を形設したＩ/Ｏセル〔図２(ａ)参照〕、111はクロック信号の供給タイミングを制御する素子、例えばバッファ402を形設したＩ/Ｏセル〔図２(ｂ)参照〕、211はフリップフロップ401及びバッファ402の２つの素子を形設したＩ/Ｏセル〔図２(ｃ)参照〕、121はＩ/Ｏセル111或いはＩ/Ｏセル211(図１には図示しない)のバッファ402にクロック信号を供給する供給線、131はＩ/Ｏセル101或いは111を配置する半導体集積回路のＩ/Ｏセル配置領域である。
【００２２】
このような構成を有する本実施の形態は、複数のＩ/Ｏセル101のフリップフロップ401をＩ/Ｏセル配置領域131の狭い範囲に配設する場合に、バッファ402から最も遠いフリップフロップ401までのクロック信号のスキューが小さくなるように、供給線121に接続した１つのＩ/Ｏセル111のバッファ402を、複数のＩ/Ｏセル101のフリップフロップ401の中央部に配置したものである。
【００２３】
このように、Ｉ/Ｏセル111のバッファ402の配置は、Ｉ/Ｏセル101のフリップフロップ401の一次的な配置でほぼ決定されるので、バッファ及びフリップフロップの配置並びに供給線の配線を決定する自動配置配線装置を使用することなく、簡単に決定できる。
【００２４】
又、Ｉ/Ｏセル111のバッファ402はＩ/Ｏセル配置領域131に配設され、又、クロック信号の供給線はブロック間配線領域に形設されるので、バッファ402の配置及び供給線の配線は論理回路部分の回路構成，レイアウト等の影響を全く受けることなく簡単に決定できる。
【００２５】
なお、２つのＩ/Ｏセル101とＩ/Ｏセル111との代わりに１つのＩ/Ｏセル211をＩ/Ｏセル配置領域131に配設するようにしてもよい。
【００２６】
図３は本発明の第２の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウトで、201は、クロック信号の供給を必要とする素子、例えばフリップフロップを形設した第１群のＩ/Ｏセル、202は、クロック信号の供給を必要とする素子、例えばフリップフロップを形設した第２群のＩ/Ｏセル、210はクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第１段目のＩ/Ｏセル、211は第１群のＩ/Ｏセル201のフリップフロップに供給するクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第２段目のＩ/Ｏセル、212は第２群のＩ/Ｏセル202のフリップフロップに供給するクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第２段目のＩ/Ｏセル、220はＩ/Ｏセル210のバッファにクロック信号を供給する供給線、231はＩ/Ｏセル201，202，210，211或いは212を配設する半導体集積回路のＩ/Ｏセル配置領域である。
【００２７】
このような構成を有する本実施の形態は、複数のＩ/Ｏセル201のフリップフロップ及び複数のＩ/Ｏセル202のフリップフロップをＩ/Ｏセル配置領域231の広い範囲に配設する場合に、供給線の線路長の増加に伴う供給線の抵抗値の増加によってクロック信号のスキューが大きくならないように、クロック信号が供給されるフリップフロップを第１群の複数のＩ/Ｏセル201のフリップフロップと第２群の複数のＩ/Ｏセル202のフリップフロップとの２組に分割すると共に、供給線220に接続した第１段目のＩ/Ｏセル210のバッファと、第１群の複数のＩ/Ｏセル201のフリップフロップの中央部に配置した第２段目のＩ/Ｏセル211のバッファ及び第２群の複数のＩ/Ｏセル202のフリップフロップの中央部に配置した第２段目のＩ/Ｏセル212のバッファとを２段のツリー状に接続して、供給線の線路長を短くすると共に、Ｉ/Ｏセル211のバッファ及びＩ/Ｏセル212のバッファの負荷容量を均等にしたものである。
【００２８】
このように、Ｉ/Ｏセル210，211及び212のバッファの配置は、第１群の複数のＩ/Ｏセル201のフリップフロップ及び第２群の複数のＩ/Ｏセル202のフリップフロップの一次的な配置でほぼ決定されるので、バッファ及びフリップフロップの配置並びに供給線の配線を決定する自動配置配線装置を使用することなく、簡単に決定できる。
【００２９】
なお、本実施の形態では、複数のフリップフロップを２組に分割し、３つのバッファを２段のツリー状に配置し、バッファを複数のフリップフロップの中央部に配置する例で説明したが、複数のフリップフロップの分割数，複数のバッファの段数及びバッファのフリップフロップの中への配置は、スキューの程度，バッファ及びフリップフロップの配置，供給線の配線等を勘案して決定すればよい。
【００３０】
図４は本発明の第３の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウトで、301は、系統Ａのクロック信号の供給を必要とする素子、例えばフリップフロップを形設したＩ/Ｏセル、302は、系統Ｂのクロック信号の供給を必要とする素子、例えばフリップフロップを形設した第１群のＩ/Ｏセル、303は、系統Ｂのクロック信号の供給を必要とする素子、例えばフリップフロップを形設した第２群のＩ/Ｏセル、311は系統Ａのクロック信号の供給タイミングを制御する素子、例えばバッファを形設したＩ/Ｏセル、312は系統Ｂのクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第１段目のＩ/Ｏセル、313は系統Ｂの第１群のＩ/Ｏセル302のフリップフロップに供給するクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第２段目のＩ/Ｏセル、314は系統Ｂの第２群のＩ/Ｏセル303のフリップフロップに供給するクロック信号の供給タイミングを制御する素子、例えばバッファを形設した第２段目のＩ/Ｏセル、321はＩ/Ｏセル311に系統Ａのクロック信号を供給する供給線、322はＩ/Ｏセル312に系統Ｂのクロック信号を供給する供給線、331はＩ/Ｏセル301，302，303，311，312，313或いは314を配設する半導体集積回路のＩ/Ｏセル配置領域である。
【００３１】
このような構成を有する本実施の形態は、図１の半導体集積回路と同様のレイアウトの複数のＩ/Ｏセル301のフリップフロップ及びＩ/Ｏセル311のバッファと、図３の半導体集積回路と同様のレイアウトの複数のＩ/Ｏセル302のフリップフロップ，複数のＩ/Ｏセル303のフリップフロップ，Ｉ/Ｏセル312のバッファ，Ｉ/Ｏセル313のバッファ及びＩ/Ｏセル314のバッファとをＩ/Ｏセル配置領域331に配設する場合に、Ｉ/Ｏセル301のフリップフロップとＩ/Ｏセル302のフリップフロップとを一部入れ子状に混在させたものである。
【００３２】
このように、Ｉ/Ｏセル301のフリップフロップとＩ/Ｏセル302のフリップフロップとを一部入れ子状に混在させても、ブロック間配線領域に配線される複数のＩ/Ｏセル301のフリップフロップに接続する供給線と複数のＩ/Ｏセル302のフリップフロップに接続する供給線とは、バッファ及びフリップフロップの配置並びに供給線の配線を決定する自動配置配線装置を使用することなく、その線路長及び配線を自由に決めることができる。
【００３３】
又、供給線の線路長を自由に決めることができるため、フリップフロップが広範囲に配置される場合でも、供給線の線路長の増加に伴う供給線の抵抗値の増加が抑制できるので、クロック信号のスキューを小さくできる。
【００３４】
更に、複数のＩ/Ｏセル301のフリップフロップに接続する供給線と複数のＩ/Ｏセル302のフリップフロップに接続する供給線とはブロック間配線領域に配線されるので、Ｉ/Ｏセル301，302或いは303の配置はクロック信号の系統による制約を受けなくなって、Ｉ/Ｏセル301，302或いは303のフリップフロップは入れ子状に混在させることができるようになる。
【００３５】
なお、本発明の第１乃至第３の実施の態様において、クロック信号の供給タイミングを制御する素子はバッファに限定されるものではなく、又、クロック信号の供給を必要とする素子はフリップフロップに限定されるものではない。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、クロック信号の供給範囲が広かったり、クロック信号の供給系統が複数存在する場合でも、１チップの半導体集積回路の面積及び供給線の線路長をほとんど増加させることなく、バッファの配置及び供給線の配線が自由に行えるので、クロック信号のスキューを簡単に小さくできるという効果を有する。
【００３７】
又、本発明の半導体集積回路のレイアウト設計方法は、特殊なアルゴリズムを実現する自動配置配線装置を新たに開発することなく、既に開発した自動配置配線装置によってバッファの配置及び供給線の配線が行えるので、クロック信号のスキューが小さい半導体集積回路のレイアウト設計方法の開発に要する期間及び費用が減少するという効果を有する。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウトである。
【図２】図１の半導体集積回路のＩ/Ｏセル配置領域に配設するＩ/Ｏセルの拡大図である。
【図３】本発明の第２の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウトである。
【図４】本発明の第３の実施の形態の半導体集積回路のレイアウト設計手法によるレイアウトである。
【図５】スーパバッファ方式を用いた従来の半導体集積回路のレイアウト設計手法によるレイアウトである。
【図６】図５の半導体集積回路のＩ/Ｏセル配置領域に配設するＩ/Ｏセルの拡大図である。
【図７】クロックツリー方式を用いた従来の半導体集積回路のレイアウト設計手法によるレイアウトである。
【符号の説明】
101，201，202，301，302，303…フリップフロップを配設したＩ/Ｏセル、
111，210，211，212，311，312，313，314…バッファを配設したＩ/Ｏセル、
121，220，321，322…クロック信号の供給線、
131，231，331…Ｉ/Ｏセル配置領域、
211…フリップフロップ及びバッファを配設したＩ/Ｏセル、
401…フリップフロップ、
402…バッファ。
【図１】
0003930584.tif 000002
【図２】
0003930584.tif 000003
【図３】
0003930584.tif 000004
【図４】
0003930584.tif 000005
【図５】
0003930584.tif 000006
【図６】
0003930584.tif 000007
【図７】
0003930584.tif 000008