JP3617430B2 - Block cell, block cell design method, and block cell design support apparatus - Google Patents
Block cell, block cell design method, and block cell design support apparatus Download PDFInfo
- Publication number
- JP3617430B2 JP3617430B2 JP2000254356A JP2000254356A JP3617430B2 JP 3617430 B2 JP3617430 B2 JP 3617430B2 JP 2000254356 A JP2000254356 A JP 2000254356A JP 2000254356 A JP2000254356 A JP 2000254356A JP 3617430 B2 JP3617430 B2 JP 3617430B2
- Authority
- JP
- Japan
- Prior art keywords
- block cell
- clock
- wiring
- clock terminal
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、クロック信号に基づいて動作するブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置に係り、特に、ブロックセルが混在する半導体集積回路において、回路の増加を伴わずにクロック信号のスキューを低減するのに好適なブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置に関する。
【0002】
【従来の技術】
近年、一般素子のみのチップだけでなく、RAM/ROMやCPU等のマクロブロックセル(以下、単にブロックセルという。)が混在する半導体集積回路が多く使用されるようになってきた。ここで、ブロックセルとは、あらかじめ配置・配線等の最適化が施され、機能検証が終了しているセルをいう。半導体集積回路においてこれらブロックセルは、クロック信号により他のセルと同期しながら動作する同期システムとして構成される場合が多い。
【0003】
同期システムにおいては、クロック信号の立ち上がり(立ち下がり)のタイミングによって各ブロックセルを動作させているため、クロック信号は、いずれのブロックセルにおいてもまったく同じタイミングで得られることが回路の正常動作の上で望ましい。しかしながら、実際にはクロック信号を引き回すための配線の抵抗、配線の容量、および接続しているブロックセルの端子容量によって、クロック信号の遅れ(以下、ディレイという。)が生じる。このため、クロック信号の入力箇所から最も近いブロックセルと、最も遠いブロックセルとでは、得ることができるクロック信号に到達時間差(以下、スキューという。)が生じてしまう。回路の正常動作ためにはスキューの最小化が必要不可欠である。そこで、スキューの最小化の方法として、2分木型状(ツリー)配線を用いて配線径路を調整することにより適当にクロック信号を分配する方法が用いられることが多い。
【0004】
この方法は、ブロックセル同士を結線してディレイの釣合い点を求め、さらにその釣合い点と別の釣合い点とを結線していきスキューの小さいツリーを構築して、スキュー最小のクロック分配配線を得るものである。例えば、特願平3−030721号公報では、スキューが最小となるような点に分岐点を設定して径路を作っている。この配線方法では、多段バッファリングを行ってディレイの低減を図ることができる。配線によるディレイを増加しないように、迂回径路は避け、配線径路長をなるべく短くすることが重要である。
【0005】
【発明が解決しようとする課題】
しかしながら、上記多段バッファリングを行う方法にあっても、例えば、図10に示すように、ブロックセル配置の関係上、ブロックセル10,12にクロック信号を分配するクロックバッファ26に対してブロックセル10,12のクロック端子Cが反対側に位置するような場合は、クロックバッファ26からの配線をブロックセル10,12のその反対側まで引き回さなければならない。そして、この引き回しによりスキューが増加するときは、スキューの増加を防止するために、クロックバッファ26とブロックセル10との間、およびクロックバッファ26とブロックセル12との間にそれぞれクロックバッファ21,23を設けなければならない。なお、この場合、ブロックセル10,12は、ゲートアレイ上に形成するセルが含まれていることから、その位置を反転して配置することは、ブロックセル10,12の設計変更を行わない限りすることができない。
【0006】
したがって、このような場合、スキューの増加を防止するためには、クロックバッファ21,23等の余分な回路を追加しなければならない場合があり、回路の増加によりコストの増加を招くとともに半導体集積回路の小型化が図れないばかりか、例えば、ブロックセル10,12の周辺を非配置領域としたいという設計要求がある場合には、クロックバッファ21,23を設けることができず、スキューの増加を低減することができない。
【0007】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、ブロックセルが混在する半導体集積回路において、回路の増加を伴わずにクロック信号のスキューを低減するのに好適なブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を提供することを目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る請求項1記載のブロックセルは、クロック信号に基づいて動作するブロックセルにおいて、前記クロック信号を入力するためのクロック端子を当該ブロックセル内でその周縁近傍に複数設け、前記各クロック端子から入力したクロック信号に基づいて動作するようになっている。
【0009】
このような構成であれば、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファと、複数のクロック端子のうちそのクロックバッファから最も近くにあるクロック端子とを接続・配線すれば、配線長を小さくすることが可能となる。
【0010】
さらに、本発明に係る請求項2記載のブロックセルは、請求項1記載のブロックセルにおいて、前記複数のクロック端子のうちいずれかの端子を、当該ブロックセルの中心位置からみて前記複数のクロック端子のうちそれ以外の端子と対称となる位置に設けた。
【0011】
このような構成であれば、少なくとも2つのクロック端子が対称的に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることが可能となる。
【0012】
ここで、対称となる位置とは、ブロックセルの中心位置からみてそれ以外の端子と点対称となる位置、またはブロックセルの中心位置を通る線に対してそれ以外の端子と線対称となる位置をいう。
【0013】
さらに、本発明に係る請求項3記載のブロックセルは、請求項1記載のブロックセルにおいて、前記複数のクロック端子のうちいずれかの端子を当該ブロックセルの周辺のうち一の辺の近傍に設け、前記複数のクロック端子のうちそれ以外の端子を当該ブロックセルの周辺のうち前記一の辺に対向する辺の近傍に設けた。
【0014】
このような構成であれば、少なくとも2つのクロック端子がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることが可能となる。
【0015】
さらに、本発明に係る請求項4記載のブロックセルは、請求項1記載のブロックセルにおいて、前記クロック端子を当該ブロックセルの異なる角部の近傍にそれぞれ設けた。
【0016】
このような構成であれば、少なくとも2つのクロック端子がブロックセルの異なる角部の近傍に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることが可能となる。
【0017】
さらに、本発明に係る請求項5記載のブロックセルは、クロック信号に基づいて動作するブロックセルにおいて、前記クロック信号を入力するためのクロック端子を当該ブロックセル内でその中心近傍に設け、当該ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を当該ブロックセル内に設けた。
【0018】
このような構成であれば、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからは、そのクロックバッファとクロック端子との距離が最短となるように、ブロックセルの周縁のうち配線領域の入口となる複数の箇所のいずれかを経由してブロックセルの中心近傍に設けられたクロック端子まで配線すれば、配線長を小さくすることが可能となる。
【0019】
さらに、本発明に係る請求項6記載のブロックセルは、請求項5記載のブロックセルにおいて、前記配線領域は、当該ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの中心位置からみて当該ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを含む。
【0020】
このような構成であれば、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所が対称的に配置されているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることが可能となる。
【0021】
ここで、対称となる位置とは、ブロックセルの中心位置からみてそのいずれかの箇所と点対称となる位置、またはブロックセルの中心位置を通る線に対してそのいずれかの箇所と線対称となる位置をいう。
【0022】
さらに、本発明に係る請求項7記載のブロックセルは、請求項5記載のブロックセルにおいて、前記配線領域は、当該ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを含む。
【0023】
このような構成であれば、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることが可能となる。
【0024】
一方、上記目的を達成するために、本発明に係る請求項8記載のブロックセルの設計方法は、クロック信号に基づいて動作するブロックセルの設計方法において、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその周縁近傍に複数設けるクロック端子形成工程と、前記各クロック端子から入力したクロック信号に基づいて前記ブロックセルが動作するように配線を行う配線工程とを含む。
【0025】
このような方法であれば、クロック端子形成工程を経て、クロック端子がブロックセルの周縁近傍に複数設けられ、配線工程を経て、クロック端子から入力したクロック信号に基づいてブロックセルが動作するように配線が行われる。
【0026】
ここで、クロック端子形成工程は、クロック端子をブロックセル内でその周縁近傍に複数設ける工程であればどのような工程であってもよいが、具体的には、例えば、次のような方法が挙げられる。すなわち、上記請求項8記載のブロックセルの設計方法において、前記クロック端子形成工程は、前記複数のクロック端子のうちいずれかの端子を、前記ブロックセルの中心位置からみて前記複数のクロック端子のうちそれ以外の端子と対称となる位置に設ける。
【0027】
このような方法であれば、クロック端子形成工程を経て、いずれかのクロック端子がブロックセルの中心位置からみてそれ以外のクロック端子と対称となる位置に設けられる。
【0028】
したがって、少なくとも2つのクロック端子が対称的に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0029】
また、クロック端子形成工程は、クロック端子をブロックセル内でその周縁近傍に複数設ける工程であればどのような工程であってもよいが、具体的には、例えば、次のような方法が挙げられる。すなわち、上記請求項8記載のブロックセルの設計方法において、前記クロック端子形成工程は、前記複数のクロック端子のうちいずれかの端子を前記ブロックセルの周辺のうち一の辺の近傍に設け、前記複数のクロック端子のうちそれ以外の端子を前記ブロックセルの周辺のうち前記一の辺に対向する辺の近傍に設ける。
【0030】
このような方法であれば、クロック端子形成工程を経て、いずれかのクロック端子がブロックセルの一の辺の近傍に設けられ、それ以外のクロック端子がブロックセルのその一の辺に対向する辺の近傍に設けられる。
【0031】
したがって、少なくとも2つのクロック端子がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0032】
また、クロック端子形成工程は、クロック端子をブロックセル内でその周縁近傍に複数設ける工程であればどのような工程であってもよいが、具体的には、例えば、次のような方法が挙げられる。すなわち、上記請求項8記載のブロックセルの設計方法において、前記クロック端子形成工程は、前記クロック端子を前記ブロックセルの異なる角部の近傍にそれぞれ設ける。
【0033】
このような方法であれば、クロック端子形成工程を経て、クロック端子がブロックセルの異なる角部の近傍にそれぞれ設けられる。
【0034】
したがって、少なくとも2つのクロック端子がブロックセルの異なる角部の近傍に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0035】
さらに、本発明に係る請求項9記載のブロックセルの設計方法は、クロック信号に基づいて動作するブロックセルの設計方法において、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその中心近傍に設けるクロック端子形成工程と、前記ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を前記ブロックセル内に設ける配線領域形成工程とを含む。
【0036】
このような方法であれば、クロック端子形成工程を経て、クロック端子がブロックセルの中心近傍に設けられ、配線領域形成工程を経て、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域がブロックセル内に設けられる。
【0037】
ここで、配線領域形成工程は、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域をブロックセル内に設ける工程であればどのような工程であってもよいが、具体的には、例えば、次のような方法が挙げられる。すなわち、上記請求項9記載のブロックセルの設計方法において、前記配線領域形成工程は、前記ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの中心位置からみて前記ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設ける。
【0038】
このような方法であれば、配線領域形成工程を経て、ブロックセルの周縁のうちいずれかの箇所からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルの中心位置からみてブロックセルの周縁のうちそのいずれかの箇所と対称となる位置にある箇所からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0039】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所が対称的に配置されているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0040】
また、配線領域形成工程は、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域をブロックセル内に設ける工程であればどのような工程であってもよいが、具体的には、例えば、次のような方法が挙げられる。すなわち、上記請求項9記載のブロックセルの設計方法において、前記配線領域形成工程は、前記ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設ける。
【0041】
このような方法であれば、配線領域形成工程を経て、ブロックセルの一の辺からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルのその一の辺に対向する辺からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0042】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0043】
一方、上記目的を達成するために、本発明に係る請求項10記載のブロックセルの設計支援装置は、クロック信号に基づいて動作するブロックセルの設計支援装置において、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその周縁近傍に複数設けるクロック端子形成手段と、前記各クロック端子から入力したクロック信号に基づいて前記ブロックセルが動作するように配線を行う配線手段とを備える。
【0044】
このような構成であれば、クロック端子形成手段により、クロック端子がブロックセルの周縁近傍に複数設けられ、配線手段により、クロック端子から入力したクロック信号に基づいてブロックセルが動作するように配線が行われる。
【0045】
ここで、クロック端子形成手段は、クロック端子をブロックセル内でその周縁近傍に複数設けるようになっていればどのような構成であってもよいが、具体的には、例えば、次のような構成が挙げられる。すなわち、上記請求項10記載のブロックセルの設計支援装置において、前記クロック端子形成手段は、前記複数のクロック端子のうちいずれかの端子を、前記ブロックセルの中心位置からみて前記複数のクロック端子のうちそれ以外の端子と対称となる位置に設けるようになっている。
【0046】
このような構成であれば、クロック端子形成手段により、いずれかのクロック端子がブロックセルの中心位置からみてそれ以外のクロック端子と対称となる位置に設けられる。
【0047】
したがって、少なくとも2つのクロック端子が対称的に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0048】
また、クロック端子形成手段は、クロック端子をブロックセル内でその周縁近傍に複数設けるようになっていればどのような構成であってもよいが、具体的には、例えば、次のような構成が挙げられる。すなわち、上記請求項10記載のブロックセルの設計支援装置において、前記クロック端子形成手段は、前記複数のクロック端子のうちいずれかの端子を前記ブロックセルの周辺のうち一の辺の近傍に設け、前記複数のクロック端子のうちそれ以外の端子を前記ブロックセルの周辺のうち前記一の辺に対向する辺の近傍に設けるようになっている。
【0049】
このような構成であれば、クロック端子形成手段により、いずれかのクロック端子がブロックセルの一の辺の近傍に設けられ、それ以外のクロック端子がブロックセルのその一の辺に対向する辺の近傍に設けられる。
【0050】
したがって、少なくとも2つのクロック端子がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0051】
また、クロック端子形成手段は、クロック端子をブロックセル内でその周縁近傍に複数設けるようになっていればどのような構成であってもよいが、具体的には、例えば、次のような構成が挙げられる。すなわち、上記請求項10記載のブロックセルの設計支援装置において、前記クロック端子形成手段は、前記クロック端子を前記ブロックセルの異なる角部の近傍にそれぞれ設ける。
【0052】
このような構成であれば、クロック端子形成手段により、クロック端子がブロックセルの異なる角部の近傍にそれぞれ設けられる。
【0053】
したがって、少なくとも2つのクロック端子がブロックセルの異なる角部の近傍に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0054】
さらに、本発明に係る請求項11記載のブロックセルの設計支援装置は、クロック信号に基づいて動作するブロックセルの設計支援装置において、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその中心近傍に設けるクロック端子形成手段と、前記ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を前記ブロックセル内に設ける配線領域形成手段とを備える。
【0055】
このような構成であれば、クロック端子形成手段により、クロック端子がブロックセルの中心近傍に設けられ、配線領域形成手段により、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域がブロックセル内に設けられる。
【0056】
ここで、配線領域形成手段は、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域をブロックセル内に設けるようになっていればどのような構成であってもよいが、具体的には、例えば、次のような構成が挙げられる。すなわち、上記請求項11記載のブロックセルの設計支援装置において、前記配線領域形成手段は、前記ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの中心位置からみて前記ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設けるようになっている。
【0057】
このような構成であれば、配線領域形成手段により、ブロックセルの周縁のうちいずれかの箇所からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルの中心位置からみてブロックセルの周縁のうちそのいずれかの箇所と対称となる位置にある箇所からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0058】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所が対称的に配置されているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0059】
また、配線領域形成手段は、ブロックセルの周縁のうち異なる複数の箇所からクロック端子までクロック信号線を配線するための配線領域をブロックセル内に設けるようになっていればどのような構成であってもよいが、具体的には、例えば、次のような構成が挙げられる。すなわち、上記請求項11記載のブロックセルの設計支援装置において、前記配線領域形成手段は、前記ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設けるようになっている。
【0060】
このような構成であれば、配線領域形成手段により、ブロックセルの一の辺からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルのその一の辺に対向する辺からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0061】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0062】
以上では、上記目的を達成するためのブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を提案したが、これに限らず、上記目的を達成するために、次に掲げる第1ないし第7のブロックセルの設計支援プログラムを記憶した記憶媒体を提案することもできる。
【0063】
第1のブロックセルの設計支援プログラムを記憶した記憶媒体は、クロック信号に基づいて動作するブロックセルの設計支援プログラムを記憶した記憶媒体であって、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその周縁近傍に複数設けるクロック端子形成手段と、前記各クロック端子から入力したクロック信号に基づいて前記ブロックセルが動作するように配線を行う配線手段として、コンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【0064】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、請求項10記載のブロックセルの設計支援装置と同様の作用および効果が得られる。
【0065】
第2のブロックセルの設計支援プログラムを記憶した記憶媒体は、上記第1のブロックセルの設計支援プログラムのおいて、前記クロック端子形成手段は、前記複数のクロック端子のうちいずれかの端子を、前記ブロックセルの中心位置からみて前記複数のクロック端子のうちそれ以外の端子と対称となる位置に設けるようになっている。
【0066】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、クロック端子形成手段により、クロック端子形成手段により、いずれかのクロック端子がブロックセルの中心位置からみてそれ以外のクロック端子と対称となる位置に設けられる。
【0067】
したがって、少なくとも2つのクロック端子が対称的に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0068】
第3のブロックセルの設計支援プログラムを記憶した記憶媒体は、上記第1のブロックセルの設計支援プログラムのおいて、前記クロック端子形成手段は、前記複数のクロック端子のうちいずれかの端子を前記ブロックセルの周辺のうち一の辺の近傍に設け、前記複数のクロック端子のうちそれ以外の端子を前記ブロックセルの周辺のうち前記一の辺に対向する辺の近傍に設けるようになっている。
【0069】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、クロック端子形成手段により、いずれかのクロック端子がブロックセルの一の辺の近傍に設けられ、それ以外のクロック端子がブロックセルのその一の辺に対向する辺の近傍に設けられる。
【0070】
したがって、少なくとも2つのクロック端子がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0071】
第4のブロックセルの設計支援プログラムを記憶した記憶媒体は、上記第1のブロックセルの設計支援プログラムのおいて、前記クロック端子形成手段は、前記クロック端子を前記ブロックセルの異なる角部の近傍にそれぞれ設けるようになっている。
【0072】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、クロック端子形成手段により、クロック端子がブロックセルの異なる角部の近傍にそれぞれ設けられる。
【0073】
したがって、少なくとも2つのクロック端子がブロックセルの異なる角部の近傍に設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0074】
第5のブロックセルの設計支援プログラムを記憶した記憶媒体は、クロック信号に基づいて動作するブロックセルの設計支援プログラムを記憶した記憶媒体であって、前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその中心近傍に設けるクロック端子形成手段と、前記ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を前記ブロックセル内に設ける配線領域形成手段として、コンピュータを機能させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【0075】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、請求項11記載のブロックセルの設計支援装置と同様の作用および効果が得られる。
【0076】
第6のブロックセルの設計支援プログラムを記憶した記憶媒体は、上記第5のブロックセルの設計支援プログラムのおいて、前記配線領域形成手段は、前記ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの中心位置からみて前記ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設けるようになっている。
【0077】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、配線領域形成手段により、ブロックセルの周縁のうちいずれかの箇所からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルの中心位置からみてブロックセルの周縁のうちそのいずれかの箇所と対称となる位置にある箇所からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0078】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所が対称的に配置されているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0079】
第7のブロックセルの設計支援プログラムを記憶した記憶媒体は、上記第5のブロックセルの設計支援プログラムのおいて、前記配線領域形成手段は、前記ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、前記ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを前記ブロックセル内に設けるようになっている。
【0080】
このような構成であれば、記憶媒体に記憶されたプログラムがコンピュータによって読み取られ、読み取られたプログラムに従ってコンピュータが機能したときは、配線領域形成手段により、ブロックセルの一の辺からクロック端子までクロック信号線を配線するための配線領域と、ブロックセルのその一の辺に対向する辺からクロック端子までクロック信号線を配線するための配線領域とがブロックセル内に設けられる。
【0081】
したがって、ブロックセルの周縁のうち配線領域の入口となる少なくとも2つの箇所がブロックセルの一辺の近傍とその反対側の辺の近傍とに設けられているので、ブロックセルを配置したときに、そのブロックセルにクロック信号を分配するクロックバッファからクロック端子までの距離が短くなる可能性があり、クロックバッファとクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができるという効果が得られる。
【0082】
【発明の実施の形態】
以下、本発明の第1の実施の形態を図面を参照しながら説明する。図1ないし図4は、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置の第1の実施の形態を示す図である。
【0083】
本実施の形態は、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を、図3に示すように、クロック信号に基づいて動作するブロックセル10においてクロック端子Cをブロックセル10内でその周縁近傍に複数設けることにより、ブロックセル10を配置したときに、ブロックセル10とクロックバッファ26との配線長を小さくし、クロック信号のスキューを低減する場合について適用したものである。
【0084】
まず、本発明を適用するコンピュータシステムの構成を図1を参照しながら説明する。図1は、本発明を適用するコンピュータシステムの構成を示すブロック図である。
【0085】
コンピュータ100は、図1に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU30と、所定領域にあらかじめCPU30の制御プログラム等を格納しているROM32と、ROM32等から読み出したデータやCPU30の演算過程で必要な演算結果を格納するためのRAM34と、RAM34の特定領域に格納されているデータを画像信号に変換して表示装置34に出力するCRTC36と、外部装置に対してデータの入出力を媒介するI/F38とで構成されており、これらは、データを転送するための信号線であるバス39で相互にかつデータ授受可能に接続されている。
【0086】
I/F38には、外部装置として、ヒューマンインターフェースとしてデータの入力が可能なキーボードやマウス等からなる入力装置40と、データやテーブル等をファイルとして格納する記憶装置42と、画像信号に基づいて画面を表示する表示装置44とが接続されている。
【0087】
RAM34は、特定領域として、表示装置44に表示するための表示用データを格納するVRAM35を有しており、VRAM35は、CPU30とCRTC36とで独立にアクセスが可能となっている。
【0088】
CRTC36は、VRAM35に格納されている表示用データを先頭アドレスから所定周期で順次読み出し、読み出した表示用データを画像信号に変換して表示装置44に出力するようになっている。
【0089】
記憶装置42は、あらかじめ配置・配線等の最適化が施され、機能検証が終了しているブロックセル10を構成するための配置データを記憶するためのセルライブラリとしての役割を有する。
【0090】
CPU30は、マイクロプロセッシングユニットMPU等からなり、半導体集積回路を設計するときは、ROM32の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図2のフローチャートに示す設計支援処理を実行するようになっている。図2は、設計支援処理を示すフローチャートである。
【0091】
設計支援処理は、半導体集積回路のうち半導体チップを製造するために必要なチップマスクパターンデータと、半導体集積回路のうち配線パターンを形成するのに必要な配線マスクパターンデータとを生成する処理であって、CPU30において実行されると、図2に示すように、まず、ステップS100に移行する。
【0092】
ステップS100では、ブロックセル10の配置データを記憶装置42から読み出し、クロック信号を入力するためのクロック端子Cをブロックセル10内でその周縁近傍に複数設けるとともに、読み出した配置データに基づいてブロックセル10内の各セルを配置する。なお、ここでの配置は、コンピュータ100上で仮想的に形成した空間において行われるものである。以下、ブロックセル10内の配線、ブロックセル10の配置・配線について同じである。
【0093】
具体的に、このステップS100では、例えば、図3に示すように、クロック端子C2,C4,C6,C8をブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C1,C3,C5,C7をブロックセル10の各角部の近傍にそれぞれ一つずつ設ける。図3は、ブロックセル10の構成を示す図である。
【0094】
次いで、ステップS102に移行して、読み出した配置データに基づいてブロックセル10内の各セルを配線し、この際に、各クロック端子C1〜C8から入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内を配線し、ステップS104に移行する。
【0095】
ステップS104では、すべてのブロックセル10の構成が終了したか否かを判定し、すべてのブロックセル10の構成が終了したと判定されたとき(Yes)は、ステップS106に移行して、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10およびクロックバッファ等を配置するとともに、ブロックセル10にクロック信号を分配するクロックバッファと、ブロックセル10のクロック端子C1〜C8のうちそのクロックバッファから最も近くにあるクロック端子とを接続・配線し、ステップS108に移行する。
【0096】
ステップS108では、ステップS100,S102,S106での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータを生成し、ステップS110に移行して、生成したチップマスクパターンデータおよび配線マスクパターンデータを記憶装置42に格納し、一連の処理を終了する。
【0097】
一方、ステップS104で、すべてのブロックセル10の構成が終了しないと判定されたとき(No)は、ステップS100に移行する。
【0098】
次に、上記第1の実施の形態の動作を図4を参照しながら説明する。図4は、本実施の形態により設計したブロックセル10,12を配置・配線した状態を示す平面図である。
【0099】
ブロックセルを用いて半導体集積回路を設計する場合、設計者は、記憶装置42のなかから所望の機能を有するブロックセルを選択するとともに、実現しようとする半導体集積回路の機能に対応して上記選択したブロックセルについて接続関係を規定する。ここでは、図4に示すように、ブロックセルとしてブロックセル10,12を選択するものとする。
【0100】
このようにブロックセルを選択し、接続関係を規定すると、ステップS100を経て、CPU30により、ブロックセル10の配置データが記憶装置42から読み出され、クロック端子Cがブロックセル10内でその周縁近傍に複数設けられるとともに、読み出された配置データに基づいてブロックセル10内の各セルが配置される。このクロック端子Cの形成では、クロック端子C2,C4,C6,C8がブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けられるとともに、クロック端子C1,C3,C5,C7がブロックセル10の各角部の近傍にそれぞれ一つずつ設けられる。
【0101】
次いで、ステップS102を経て、読み出された配置データに基づいてブロックセル10内の各セルが配線され、この際に、各クロック端子C1〜C8から入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内が配線される。
【0102】
よって、これら一連の処理により、ブロックセル10が構成される。なお、これら一連の処理は、ブロックセル12についても同様に行われる。
【0103】
次いで、ステップS106を経て、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10,12およびクロックバッファ等が配置されるとともに、ブロックセル10,12にクロック信号を分配するクロックバッファと、ブロックセル10,12のクロック端子C1〜C8のうちそのクロックバッファから最も近くにあるクロック端子とが接続・配線される。
【0104】
図4の例では、まず、ルートクロックバッファ20と、クロックバッファ22〜26と、ブロックセル10,12とが配置される。そして、ルートクロックバッファ20と各クロックバッファ22〜26とが接続・配線され、クロックバッファ26と、ブロックセル10のクロック端子C1〜C8のうちクロックバッファ26から最も近くにあるクロック端子C3とが接続・配線されるとともに、クロックバッファ26と、ブロックセル12のクロック端子C1〜C8のうちクロックバッファ26から最も近くにあるクロック端子C1とが接続・配線される。
【0105】
次いで、ステップS108,S110を経て、ステップS100,S102,S106での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータが生成され、生成されたチップマスクパターンデータおよび配線マスクパターンデータが記憶装置42に格納される。
【0106】
そして、チップマスクパターンデータおよび配線マスクパターンデータに基づいて、半導体集積回路が製造される。具体的には、チップマスクパターンデータに基づいて製造されたマスクパターンにより、スタンダードセルおよびベーシックセルのバルク層が基板上に形成されることで、半導体チップが製造される。そして、配線マスクパターンデータに基づいて製造されたマスクパターンにより、スタンダードセルおよびベーシックセルを配線する配線層が、製造された半導体チップ上に形成されることで、半導体集積回路が製造される。
【0107】
このようにして、本実施の形態では、クロック端子C1〜C8をブロックセル10内でその周縁近傍に複数設け、各クロック端子C1〜C8から入力したクロック信号に基づいて動作するようにブロックセル10内を配線するようにした。
【0108】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ12と、クロック端子C1〜C8のうちクロックバッファ26から最も近くにあるクロック端子C3とを接続・配線すれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができる。
【0109】
さらに、本実施の形態では、クロック端子C2,C4,C6,C8をブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C1,C3,C5,C7をブロックセル10の各角部の近傍にそれぞれ一つずつ設けるようにした。
【0110】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができる。
【0111】
上記実施の形態において、ステップS100は、請求項8記載のクロック端子形成工程、または請求項10記載のクロック端子形成手段に対応し、ステップS102は、請求項8記載の配線工程、または請求項10記載の配線手段に対応している。
【0112】
次に、本発明の第2の実施の形態を図面を参照しながら説明する。図5ないし図7は、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置の第2の実施の形態を示す図である。なお、以下、上記第1の実施の形態と異なる部分についてのみ説明し、上記第1の実施の形態と重複する部分については同一の符号を付して説明を省略する。
【0113】
本実施の形態は、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を、図6に示すように、クロック信号に基づいて動作するブロックセル10においてクロック端子Cをブロックセル10内でその中心近傍に設けることにより、ブロックセル10を配置したときに、ブロックセル10とクロックバッファ26との配線長を小さくし、クロック信号のスキューを低減する場合について適用したものである。
【0114】
CPU30は、半導体集積回路を設計するときは、ROM32の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図5のフローチャートに示す設計支援処理を実行するようになっている。図5は、設計支援処理を示すフローチャートである。
【0115】
設計支援処理は、半導体集積回路のうち半導体チップを製造するために必要なチップマスクパターンデータと、半導体集積回路のうち配線パターンを形成するのに必要な配線マスクパターンデータとを生成する処理であって、CPU30において実行されると、図5に示すように、まず、ステップS200に移行する。
【0116】
ステップS200では、ブロックセル10の配置データを記憶装置42から読み出し、クロック信号を入力するためのクロック端子Cをブロックセル10内でその中心近傍に設け、ステップS202に移行して、ブロックセル10の周縁のうち異なる複数の箇所からクロック端子Cまでクロック信号線を配線するための配線領域をブロックセル10内に設けるとともに、読み出した配置データに基づいてブロックセル10内の各セルを上記配線領域以外の領域に配置する。なお、ここでの配置は、コンピュータ100上で仮想的に形成した空間において行われるものである。以下、ブロックセル10内の配線、ブロックセル10の配置・配線について同じである。
【0117】
具体的に、このステップS202では、例えば、図6に示すように、ブロックセル10の辺中央In1からクロック端子Cまでクロック信号線を配線するための配線領域LP1と、ブロックセル10の辺中央In2からクロック端子Cまでクロック信号線を配線するための配線領域LP2と、ブロックセル10の辺中央In3からクロック端子Cまでクロック信号線を配線するための配線領域LP3と、ブロックセル10の辺中央In4からクロック端子Cまでクロック信号線を配線するための配線領域LP4とをブロックセル10内に設ける。また、ブロックセル10内の各セルを、ブロックセル10内において配線領域LP1〜LP4以外の領域CP1〜CP4に配置する。図6は、ブロックセル10の構成を示す図である。
【0118】
次いで、ステップS204に移行して、読み出した配置データに基づいてブロックセル10内の各セルを配線し、この際に、クロック端子Cから入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内を配線し、ステップS206に移行する。
【0119】
ステップS206では、すべてのブロックセル10の構成が終了したか否かを判定し、すべてのブロックセル10の構成が終了したと判定されたとき(Yes)は、ステップS208に移行して、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10およびクロックバッファ等を配置・配線し、ステップS210に移行する。
【0120】
ステップS210では、ステップS200〜S204,S208での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータを生成し、ステップS110に移行して、生成したチップマスクパターンデータおよび配線マスクパターンデータを記憶装置42に格納し、一連の処理を終了する。
【0121】
一方、ステップS206で、すべてのブロックセル10の構成が終了しないと判定されたとき(No)は、ステップS200に移行する。
【0122】
次に、上記第2の実施の形態の動作を図7を参照しながら説明する。図7は、本実施の形態により設計したブロックセル10,12を配置・配線した状態を示す平面図である。
【0123】
ブロックセルを用いて半導体集積回路を設計する場合、設計者は、記憶装置42のなかから所望の機能を有するブロックセルを選択するとともに、実現しようとする半導体集積回路の機能に対応して上記選択したブロックセルについて接続関係を規定する。ここでは、図7に示すように、ブロックセルとしてブロックセル10,12を選択するものとする。
【0124】
このようにブロックセルを選択し、接続関係を規定すると、ステップS200,S202を経て、CPU30により、ブロックセル10の配置データが記憶装置42から読み出され、クロック端子Cがブロックセル10内でその中心近傍に設けられ、ブロックセル10の周縁のうち異なる複数の箇所からクロック端子Cまでクロック信号線を配線するための配線領域がブロックセル10内に設けられるとともに、読み出された配置データに基づいてブロックセル10内の各セルが上記配線領域以外の領域に配置される。この配線領域の形成では、配線領域LP1と、配線領域LP2と、配線領域LP3と、配線領域LP4とがブロックセル10内に設けられる。また、ブロックセル10内における各セルの配置では、ブロックセル10内の各セルが領域CP1〜CP4に配置される。
【0125】
次いで、ステップS204を経て、読み出された配置データに基づいてブロックセル10内の各セルが配線され、この際に、クロック端子Cから入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内が配線される。
【0126】
よって、これら一連の処理により、ブロックセル10が構成される。なお、これら一連の処理は、ブロックセル12についても同様に行われる。
【0127】
次いで、ステップS208を経て、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10,12およびクロックバッファ等が配置される。
【0128】
図7の例では、まず、ルートクロックバッファ20と、クロックバッファ22〜26と、ブロックセル10,12とが配置される。そして、ルートクロックバッファ20と各クロックバッファ22〜26とが接続・配線され、クロックバッファ26とブロックセル10のクロック端子Cとの距離が最短となるように、ブロックセル10の配線領域LP2を経由してクロックバッファ26とブロックセル10のクロック端子Cとが接続・配線されるとともに、クロックバッファ26とブロックセル12のクロック端子Cとの距離が最短となるように、ブロックセル12の配線領域LP1を経由してクロックバッファ26とブロックセル12のクロック端子Cとが接続・配線される。
【0129】
そして、ステップS108,S110を経て、ステップS100,S102,S106での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータが生成され、生成されたチップマスクパターンデータおよび配線マスクパターンデータが記憶装置42に格納される。
【0130】
このようにして、本実施の形態では、クロック端子Cをブロックセル10内でその中心近傍に設け、ブロックセル10の周縁のうち異なる複数の箇所からクロック端子Cまでクロック信号線を配線するための配線領域LP1〜LP4をブロックセル10内に設けるようにした。
【0131】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からは、クロックバッファ26とブロックセル10のクロック端子Cとの距離が最短となるように、ブロックセル10の周縁のうち配線領域の入口となる複数の箇所のいずれかを経由してブロックセル10のクロック端子Cまで配線すれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができる。
【0132】
さらに、本実施の形態では、ブロックセル10の辺中央In1からクロック端子Cまでクロック信号線を配線するための配線領域LP1と、ブロックセル10の辺中央In2からクロック端子Cまでクロック信号線を配線するための配線領域LP2と、ブロックセル10の辺中央In3からクロック端子Cまでクロック信号線を配線するための配線領域LP3と、ブロックセル10の辺中央In4からクロック端子Cまでクロック信号線を配線するための配線領域LP4とをブロックセル10内に設けるようにした。
【0133】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができる。
【0134】
上記実施の形態において、ステップS200は、請求項9記載のクロック端子形成工程、または請求項11記載のクロック端子形成手段に対応し、ステップS202は、請求項9記載の配線領域形成工程、または請求項11記載の配線領域形成手段に対応している。
【0135】
なお、上記第1の実施の形態においては、クロック端子C2,C4,C6,C8をブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C1,C3,C5,C7をブロックセル10の各角部の近傍にそれぞれ一つずつ設けるようにしたが、これに限らず、例えば、図8に示すように、クロック端子Cを設けるようにしてもよい。図8は、本発明の他の実施の形態を示す図である。
【0136】
まず、図8(a)の例では、クロック端子Cをブロックセル10の各辺に設けず、クロック端子C1,C3,C5,C7をブロックセル10の各角部の近傍にそれぞれ一つずつ設けるようになっている。
【0137】
次に、図8(b)の例では、クロック端子Cをブロックセル10の各角部に設けず、クロック端子C2,C4,C6,C8をブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるようになっている。もちろん、このようにブロックセル10の各辺中央に設けるのに限らず、各辺のいずれの場所に設けても差し支えない。
【0138】
次に、図8(c)の例では、クロック端子C1をブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子C5を、ブロックセル10の中心位置からみてクロック端子C1と点対称の位置に設けるようになっている。
【0139】
次に、図8(d)の例では、クロック端子C1をブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子C3を、ブロックセル10の中心位置Oを通る水平線に対してクロック端子C1と線対称の位置に設けるようになっている。
【0140】
次に、図8(e)の例では、クロック端子C1をブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子C7を、ブロックセル10の中心位置Oを通る垂直線に対してクロック端子C1と線対称の位置に設けるようになっている。
【0141】
次に、図8(f)の例では、クロック端子C3,C5,C8を設けるにあたって、クロック端子C5とクロック端子C8との距離aと、クロック端子C3とクロック端子C8との距離bと、クロック端子C3とクロック端子C5との距離cとの総和が最大となるように、これらクロック端子Cを設けるようになっている。なお、ここでは、クロック端子Cを3つ設ける場合について説明したが、これよりも多数のクロック端子Cを設ける場合も同じ要領で行うことができる。
【0142】
これにより、各クロック端子C3,C5,C8が分散的に配置されるので、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができる。
【0143】
次に、図8(g)の例では、クロック端子C3,C5,C8を設けるにあたって、各クロック端子C3,C5,C8から入力したクロック信号を必要とする内部セル14とクロック端子C8との配線長l1と、内部セル14とクロック端子C5との配線長l2と、内部セル14とクロック端子C3との配線長l3との総和が最小となるように、これらクロック端子Cを設けるようになっている。なお、ここでは、クロック端子Cを3つ設ける場合について説明したが、これよりも多数のクロック端子Cを設ける場合も同じ要領で行うことができる。
【0144】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26に接続されるクロック端子Cから内部セル14までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができる。
【0145】
なお、図8(g)の例は、配線長を小さくする観点から図8(f)の例と組み合わせて行うのがより好適である。
【0146】
また、上記第2の実施の形態においては、ブロックセル10の辺中央In1からクロック端子Cまでクロック信号線を配線するための配線領域LP1と、ブロックセル10の辺中央In2からクロック端子Cまでクロック信号線を配線するための配線領域LP2と、ブロックセル10の辺中央In3からクロック端子Cまでクロック信号線を配線するための配線領域LP3と、ブロックセル10の辺中央In4からクロック端子Cまでクロック信号線を配線するための配線領域LP4とをブロックセル10内に設けるようにしたが、これに限らず、図9に示すように、配線領域をブロックセル10内に設けるようにしてもよい。図9は、本発明の他の実施の形態を示す図である。
【0147】
まず、図9(a)の例では、ブロックセル10の各辺In1〜In4からクロック端子Cまでクロック信号線を配線するための配線領域LP1〜LP4を設けず、ブロックセル10の各角部In5〜In8からクロック端子Cまでクロック信号線を配線するための配線領域LP5〜LP8をブロックセル10内に設けるようになっている。
【0148】
次に、図9(b)の例では、ブロックセル10の各辺In1〜In4からクロック端子Cまでクロック信号線を配線するための配線領域LP1〜LP4と、ブロックセル10の各角部In5〜In8からクロック端子Cまでクロック信号線を配線するための配線領域LP5〜LP8とをブロックセル10内に設けるようになっている。
【0149】
次に、図9(c)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In5)からクロック端子Cまでクロック信号線を配線するための配線領域LP5と、ブロックセル10の中心位置からみて角部In5と点対称の位置In7からクロック端子Cまでクロック信号線を配線するための配線領域LP7とをブロックセル10内に設けるようになっている。
【0150】
次に、図9(d)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In5)からクロック端子Cまでクロック信号線を配線するための配線領域LP5と、ブロックセル10の中心位置を通る水平線に対して角部In5と線対称の位置In6からクロック端子Cまでクロック信号線を配線するための配線領域LP6とをブロックセル10内に設けるようになっている。
【0151】
次に、図9(e)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In5)からクロック端子Cまでクロック信号線を配線するための配線領域LP5と、ブロックセル10の中心位置を通る垂直線に対して角部In5と線対称の位置In8からクロック端子Cまでクロック信号線を配線するための配線領域LP8とをブロックセル10内に設けるようになっている。
【0152】
次に、図9(f)の例では、ブロックセル10の周縁の点In4とブロックセル10の周縁の点In7との距離aと、点In4とブロックセル10の周縁の点In6との距離bと、点In6と点In7との距離cとの総和が最大となるようにそれら点の位置を決定し、点In4からクロック端子Cまでクロック信号線を配線するための配線領域LP4と、点In6からクロック端子Cまでクロック信号線を配線するための配線領域LP6と、点In7からクロック端子Cまでクロック信号線を配線するための配線領域LP7とをブロックセル10内に設けるようになっている。なお、ここでは、配線領域を3つ設ける場合について説明したが、これよりも多数の配線領域を設ける場合も同じ要領で行うことができる。
【0153】
これにより、ブロックセル10の周縁のうち配線領域の入口となる複数の箇所が分散的に配置されるので、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができる。
【0154】
また、上記第1および第2の実施の形態において、図2および図5のフローチャートに示す処理を実行するにあたってはいずれも、ROM32にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをRAM34に読み込んで実行するようにしてもよい。
【0155】
ここで、記憶媒体とは、RAM、ROM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、CD、CDV、LD、DVD等の光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【0156】
また、上記第1の実施の形態においては、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を、図3に示すように、クロック信号に基づいて動作するブロックセル10においてクロック端子Cをブロックセル10内でその周縁近傍に複数設けることにより、ブロックセル10を配置したときに、ブロックセル10とクロックバッファ26との配線長を小さくし、クロック信号のスキューを低減する場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
【0157】
また、上記第2の実施の形態においては、本発明に係るブロックセル、ブロックセルの設計方法およびブロックセルの設計支援装置を、図6に示すように、クロック信号に基づいて動作するブロックセル10においてクロック端子Cをブロックセル10内でその中心近傍に設けることにより、ブロックセル10を配置したときに、ブロックセル10とクロックバッファ26との配線長を小さくし、クロック信号のスキューを低減する場合について適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。
【0158】
【発明の効果】
以上説明したように、本発明に係る請求項1ないし7記載のブロックセルによれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができるという効果が得られる。
【0159】
さらに、本発明に係る請求項2ないし4、6または7記載のブロックセルによれば、クロック信号のスキューをさらに低減することができるという効果も得られる。
【0160】
一方、本発明に係る請求項8または9記載のブロックセルの設計方法によれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができるという効果が得られる。
【0161】
一方、本発明に係る請求項10または11記載のブロックセルの設計支援装置によれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明を適用するコンピュータシステムの構成を示すブロック図である。
【図2】設計支援処理を示すフローチャートである。
【図3】ブロックセル10の構成を示す図である。
【図4】本実施の形態により設計したブロックセル10,12を配置・配線した状態を示す平面図である。
【図5】設計支援処理を示すフローチャートである。
【図6】ブロックセル10の構成を示す図である。
【図7】本実施の形態により設計したブロックセル10,12を配置・配線した状態を示す平面図である。
【図8】本発明の他の実施の形態を示す図である。
【図9】本発明の他の実施の形態を示す図である。
【図10】従来の設計方法により設計したブロックセル10,12を配置・配線した状態を示す平面図である。
【符号の説明】
10,12 ブロックセル
20 ルートクロックバッファ
22〜26 クロックバッファ
100 コンピュータ
30 CPU
32 ROM
34 RAM
38 I/F
40 入力装置
42 記憶装置
44 表示装置
C リセット端子
LP 配線領域
CP セル配置領域[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a block cell that operates based on a clock signal, a block cell design method, and a block cell design support apparatus, and more particularly to a clock signal without increasing the number of circuits in a semiconductor integrated circuit in which block cells are mixed. The present invention relates to a block cell, a block cell design method, and a block cell design support apparatus suitable for reducing the skew of the block cell.
[0002]
[Prior art]
In recent years, not only chips with general elements but also semiconductor integrated circuits in which macro block cells (hereinafter simply referred to as block cells) such as RAM / ROM and CPU are mixed have been used. Here, the block cell refers to a cell that has been subjected to optimization such as placement and wiring in advance and whose function has been verified. In a semiconductor integrated circuit, these block cells are often configured as a synchronous system that operates in synchronization with other cells by a clock signal.
[0003]
In the synchronous system, each block cell is operated at the rising (falling) timing of the clock signal, so that the clock signal can be obtained at exactly the same timing in any block cell in the normal operation of the circuit. Is desirable. However, in reality, a clock signal delay (hereinafter referred to as a delay) is caused by the resistance of the wiring for routing the clock signal, the capacity of the wiring, and the terminal capacity of the connected block cells. For this reason, an arrival time difference (hereinafter referred to as a skew) occurs in the clock signal that can be obtained between the block cell closest to the input location of the clock signal and the block cell farthest from the input. Minimizing skew is indispensable for the normal operation of the circuit. Therefore, as a method for minimizing skew, a method of appropriately distributing clock signals by adjusting a wiring path using a binary tree (tree) wiring is often used.
[0004]
In this method, block cells are connected to obtain a delay balance point, and the balance point is connected to another balance point to construct a tree having a small skew to obtain a clock distribution wiring with a minimum skew. Is. For example, in Japanese Patent Application No. 3-030721, a branching point is set at a point where the skew is minimized to create a path. In this wiring method, multistage buffering can be performed to reduce delay. In order not to increase the delay due to the wiring, it is important to avoid the detour path and shorten the wiring path length as much as possible.
[0005]
[Problems to be solved by the invention]
However, even in the method of performing the multistage buffering, for example, as shown in FIG. , 12 is located on the opposite side, the wiring from the
[0006]
Therefore, in such a case, in order to prevent an increase in skew, it may be necessary to add extra circuits such as
[0007]
Therefore, the present invention has been made paying attention to such an unsolved problem of the prior art, and in a semiconductor integrated circuit in which block cells are mixed, the skew of the clock signal without increasing the number of circuits. It is an object of the present invention to provide a block cell, a block cell design method, and a block cell design support apparatus suitable for reducing the above.
[0008]
[Means for Solving the Problems]
To achieve the above object, the block cell according to claim 1 of the present invention is a block cell that operates based on a clock signal, and a clock terminal for inputting the clock signal is provided in the periphery of the block cell. A plurality are provided in the vicinity and operate based on clock signals input from the clock terminals.
[0009]
With this configuration, when a block cell is placed, the clock buffer that distributes the clock signal to the block cell is connected and wired to the clock terminal that is closest to the clock buffer among the multiple clock terminals. Then, the wiring length can be reduced.
[0010]
Furthermore, the block cell according to claim 2 according to the present invention is the block cell according to claim 1, wherein any one of the plurality of clock terminals is viewed from the center position of the block cell. Of these, it was provided at a position symmetrical to the other terminals.
[0011]
With such a configuration, since at least two clock terminals are provided symmetrically, when a block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal is short. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced.
[0012]
Here, the symmetric position refers to a position that is point-symmetric with the other terminals as viewed from the center position of the block cell, or a position that is line-symmetric with the other terminals with respect to a line passing through the center position of the block cell. Say.
[0013]
Furthermore, the block cell according to
[0014]
In such a configuration, since at least two clock terminals are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side, when the block cell is arranged, the clock signal is supplied to the block cell. There is a possibility that the distance from the clock buffer that distributes the clock to the clock terminal may be shortened, and if the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced.
[0015]
The block cell according to claim 4 of the present invention is the block cell according to claim 1, wherein the clock terminal is provided in the vicinity of a different corner of the block cell.
[0016]
In such a configuration, since at least two clock terminals are provided in the vicinity of different corners of the block cell, when the block cell is arranged, the clock is distributed from the clock buffer that distributes the clock signal to the block cell. The distance to the terminal may be shortened, and the wiring length can be further reduced by connecting and wiring the clock buffer and the clock terminal.
[0017]
Furthermore, in the block cell according to claim 5 according to the present invention, in the block cell operating based on the clock signal, a clock terminal for inputting the clock signal is provided in the vicinity of the center in the block cell. A wiring region for wiring a clock signal line from a plurality of different locations on the periphery of the cell to the clock terminal is provided in the block cell.
[0018]
With such a configuration, when a block cell is arranged, the periphery of the block cell is arranged so that the distance between the clock buffer and the clock terminal is the shortest from the clock buffer that distributes the clock signal to the block cell. The wiring length can be reduced by wiring to a clock terminal provided in the vicinity of the center of the block cell via any of a plurality of locations serving as entrances of the wiring region.
[0019]
Furthermore, the block cell according to claim 6 of the present invention is the block cell according to claim 5, wherein the wiring region is configured to route a clock signal line from any part of the periphery of the block cell to the clock terminal. And a wiring area for wiring a clock signal line from a position that is symmetrical to any one of the peripheral edges of the block cell from the center position of the block cell to the clock terminal Including.
[0020]
With such a configuration, at least two locations that serve as the entrances to the wiring area in the periphery of the block cell are arranged symmetrically, so that when the block cell is arranged, the clock signal is distributed to the block cell. There is a possibility that the distance from the clock buffer to the clock terminal to be shortened, and if the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced.
[0021]
Here, the symmetric position refers to a position that is point-symmetric with any of the locations when viewed from the center position of the block cell, or is symmetrical with any location with respect to a line that passes through the center position of the block cell. The position which becomes.
[0022]
Furthermore, the block cell according to claim 7 of the present invention is the block cell according to claim 5, wherein the wiring region is configured to route a clock signal line from one side of the periphery of the block cell to the clock terminal. And a wiring region for wiring a clock signal line from the side facing the one side to the clock terminal in the periphery of the block cell.
[0023]
In such a configuration, at least two locations that serve as the entrances to the wiring area in the periphery of the block cell are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side. When placed, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length will be further reduced. Is possible.
[0024]
On the other hand, in order to achieve the above object, a block cell design method according to
[0025]
With such a method, a plurality of clock terminals are provided near the periphery of the block cell through the clock terminal formation step, and the block cell operates based on the clock signal input from the clock terminal through the wiring step. Wiring is performed.
[0026]
Here, the clock terminal forming step may be any step as long as it is a step of providing a plurality of clock terminals in the vicinity of the periphery of the block cell. Specifically, for example, the following method may be used. Can be mentioned. That is, in the block cell designing method according to
[0027]
With such a method, one of the clock terminals is provided at a position symmetrical to the other clock terminals as viewed from the center position of the block cell through the clock terminal formation step.
[0028]
Therefore, since at least two clock terminals are provided symmetrically, when a block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0029]
The clock terminal forming step may be any step as long as it is a step of providing a plurality of clock terminals in the vicinity of the periphery of the block cell. Specifically, for example, the following method may be mentioned. It is done. That is, in the block cell designing method according to
[0030]
In such a method, after the clock terminal forming step, one of the clock terminals is provided in the vicinity of one side of the block cell, and the other clock terminal is the side facing the one side of the block cell. It is provided in the vicinity.
[0031]
Therefore, since at least two clock terminals are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side, when the block cell is arranged, the clock buffer that distributes the clock signal to the block cell is used. There is a possibility that the distance to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the skew of the clock signal can be further reduced. Is obtained.
[0032]
The clock terminal forming step may be any step as long as it is a step of providing a plurality of clock terminals in the vicinity of the periphery of the block cell. Specifically, for example, the following method may be mentioned. It is done. That is, in the block cell design method according to
[0033]
In such a method, the clock terminals are provided in the vicinity of different corners of the block cell through the clock terminal formation step.
[0034]
Therefore, since at least two clock terminals are provided near different corners of the block cell, when the block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal is short. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0035]
Furthermore, the block cell design method according to
[0036]
In such a method, the clock terminal is provided in the vicinity of the center of the block cell through the clock terminal formation process, and the clock signal is transmitted from a plurality of different locations on the periphery of the block cell to the clock terminal through the wiring area formation process. A wiring region for wiring is provided in the block cell.
[0037]
Here, the wiring region forming step is any step as long as a wiring region for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal is provided in the block cell. However, specific examples include the following methods. That is, in the block cell design method according to
[0038]
With such a method, a wiring region for wiring a clock signal line from any part of the periphery of the block cell to the clock terminal through the wiring region forming step, and the block cell as viewed from the center position of the block cell A wiring region for wiring a clock signal line from a position that is symmetric with respect to any one of the peripheral edges to a clock terminal is provided in the block cell.
[0039]
Therefore, since at least two locations serving as the entrances to the wiring area are arranged symmetrically on the periphery of the block cell, when the block cell is arranged, the clock terminal that distributes the clock signal to the block cell from the clock terminal If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the clock signal skew can be further reduced. It is done.
[0040]
The wiring region forming step is any step as long as a wiring region for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal is provided in the block cell. Specifically, for example, the following method is exemplified. That is, in the block cell design method according to
[0041]
In such a method, a wiring region for wiring the clock signal line from one side of the block cell to the clock terminal through the wiring region forming step, and the clock from the side opposite to the one side of the block cell. A wiring area for wiring the clock signal line to the terminal is provided in the block cell.
[0042]
Therefore, at least two locations that serve as the entrances to the wiring area in the periphery of the block cell are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side. There is a possibility that the distance from the clock buffer that distributes the clock signal to the block cell and the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced. The effect of further reducing the skew is obtained.
[0043]
On the other hand, in order to achieve the above object, a block cell design support apparatus according to claim 10 according to the present invention is a block cell design support apparatus that operates based on a clock signal for inputting the clock signal. Clock terminal forming means for providing a plurality of clock terminals in the vicinity of the periphery of the block cell, and wiring means for performing wiring so that the block cell operates based on a clock signal input from each clock terminal.
[0044]
In such a configuration, the clock terminal forming means provides a plurality of clock terminals in the vicinity of the periphery of the block cell, and the wiring means provides wiring so that the block cell operates based on the clock signal input from the clock terminal. Done.
[0045]
Here, the clock terminal forming means may have any configuration as long as a plurality of clock terminals are provided in the vicinity of the periphery in the block cell. A configuration is mentioned. That is, in the block cell design support apparatus according to
[0046]
With such a configuration, one of the clock terminals is provided at a position symmetrical to the other clock terminals as viewed from the center position of the block cell by the clock terminal forming means.
[0047]
Therefore, since at least two clock terminals are provided symmetrically, when a block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0048]
Further, the clock terminal forming means may have any configuration as long as a plurality of clock terminals are provided in the vicinity of the periphery of the block cell. Specifically, for example, the following configuration is used. Is mentioned. That is, in the block cell design support apparatus according to
[0049]
In such a configuration, one of the clock terminals is provided in the vicinity of one side of the block cell by the clock terminal forming means, and the other clock terminal is provided on the side opposite to the one side of the block cell. It is provided in the vicinity.
[0050]
Therefore, since at least two clock terminals are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side, when the block cell is arranged, the clock buffer that distributes the clock signal to the block cell is used. There is a possibility that the distance to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the skew of the clock signal can be further reduced. Is obtained.
[0051]
Further, the clock terminal forming means may have any configuration as long as a plurality of clock terminals are provided in the vicinity of the periphery of the block cell. Specifically, for example, the following configuration is used. Is mentioned. That is, in the block cell design support apparatus according to
[0052]
With such a configuration, the clock terminal is provided in the vicinity of different corners of the block cell by the clock terminal forming means.
[0053]
Therefore, since at least two clock terminals are provided near different corners of the block cell, when the block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal is short. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0054]
Furthermore, the block cell design support apparatus according to claim 11 according to the present invention is a block cell design support apparatus that operates based on a clock signal, wherein a clock terminal for inputting the clock signal is provided in the block cell. Clock terminal forming means provided in the vicinity of the center, and wiring area forming means for providing a wiring area for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal. Prepare.
[0055]
In such a configuration, the clock terminal is provided in the vicinity of the center of the block cell by the clock terminal forming means, and the clock signal line is connected to the clock terminal from a plurality of different locations on the periphery of the block cell by the wiring area forming means. A wiring region for wiring is provided in the block cell.
[0056]
Here, the wiring area forming means may have any configuration as long as a wiring area for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal is provided in the block cell. Although there may be, specifically, the following structures are mentioned, for example. That is, in the block cell design support apparatus according to
[0057]
With such a configuration, the wiring region forming means causes the wiring region for wiring the clock signal line from any part of the periphery of the block cell to the clock terminal, and the block cell as viewed from the center position of the block cell. A wiring region for wiring a clock signal line from a position at a position symmetrical to any one of the peripheral edges to a clock terminal is provided in the block cell.
[0058]
Therefore, since at least two locations serving as the entrances to the wiring area are arranged symmetrically on the periphery of the block cell, when the block cell is arranged, the clock terminal that distributes the clock signal to the block cell from the clock terminal If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the clock signal skew can be further reduced. It is done.
[0059]
In addition, the wiring region forming means may have any configuration as long as a wiring region for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal is provided in the block cell. However, specifically, for example, the following configuration may be mentioned. That is, in the block cell design support apparatus according to
[0060]
In such a configuration, the wiring region forming means causes the wiring region for wiring the clock signal line from one side of the block cell to the clock terminal, and the clock terminal from the side facing the one side of the block cell. A wiring region for wiring the clock signal line is provided in the block cell.
[0061]
Therefore, since at least two locations of the periphery of the block cell that serve as the entrance to the wiring area are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side, when the block cell is arranged, There is a possibility that the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so the clock signal The effect of further reducing the skew is obtained.
[0062]
In the above, a block cell, a block cell design method, and a block cell design support apparatus for achieving the above object have been proposed. However, the present invention is not limited to this, and in order to achieve the above object, It is also possible to propose a storage medium storing a design support program for 7 block cells.
[0063]
A storage medium storing a design support program for a first block cell is a storage medium storing a design support program for a block cell that operates based on a clock signal, and a clock terminal for inputting the clock signal is connected to the storage medium. A program for causing a computer to function as a plurality of clock terminal forming means provided near the periphery of a block cell and a wiring means for performing wiring so that the block cell operates based on a clock signal input from each clock terminal Is a computer-readable storage medium storing
[0064]
With such a configuration, when the program stored in the storage medium is read by the computer and the computer functions in accordance with the read program, the same operation and effect as those of the block cell design support apparatus according to
[0065]
The storage medium storing the second block cell design support program is the first block cell design support program, wherein the clock terminal forming means includes any one of the plurality of clock terminals, As viewed from the center position of the block cell, the clock cells are provided at positions symmetrical to the other terminals among the plurality of clock terminals.
[0066]
If it is such a structure, when the program memorize | stored in the storage medium is read by computer and a computer functions according to the read program, either clock terminal is formed by clock terminal formation means by clock terminal formation means Is provided at a position symmetrical to the other clock terminals when viewed from the center position of the block cell.
[0067]
Therefore, since at least two clock terminals are provided symmetrically, when a block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0068]
In the storage medium storing the third block cell design support program, in the first block cell design support program, the clock terminal forming means may include any one of the plurality of clock terminals as the terminal. Provided in the vicinity of one side of the periphery of the block cell, and other terminals of the plurality of clock terminals are provided in the vicinity of the side opposite to the one side in the periphery of the block cell. .
[0069]
With such a configuration, when the program stored in the storage medium is read by the computer and the computer functions in accordance with the read program, any one of the clock terminals is one of the block cells by the clock terminal forming means. The other clock terminal is provided in the vicinity of the side opposite to the one side of the block cell.
[0070]
Therefore, since at least two clock terminals are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side, when the block cell is arranged, the clock buffer that distributes the clock signal to the block cell is used. There is a possibility that the distance to the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the skew of the clock signal can be further reduced. Is obtained.
[0071]
In the storage medium storing the fourth block cell design support program, in the first block cell design support program, the clock terminal forming means sets the clock terminal in the vicinity of a different corner of the block cell. Each is provided.
[0072]
With such a configuration, when a program stored in a storage medium is read by a computer and the computer functions in accordance with the read program, the clock terminal forming means causes the clock terminal to be near a different corner of the block cell. Are provided respectively.
[0073]
Therefore, since at least two clock terminals are provided near different corners of the block cell, when the block cell is arranged, the distance from the clock buffer that distributes the clock signal to the block cell to the clock terminal is short. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the effect of further reducing the clock signal skew can be obtained.
[0074]
A storage medium storing a fifth block cell design support program is a storage medium storing a block cell design support program that operates based on a clock signal, and has a clock terminal for inputting the clock signal. A clock terminal forming means provided near the center in the block cell, and a wiring area in the block cell for wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal A computer-readable storage medium storing a program for causing a computer to function as forming means.
[0075]
With such a configuration, when the program stored in the storage medium is read by the computer and the computer functions in accordance with the read program, the same operations and effects as those of the block cell design support device according to claim 11 are achieved. Is obtained.
[0076]
The storage medium storing the sixth block cell design support program is the fifth block cell design support program, wherein the wiring region forming means is configured to start from any of the peripheral edges of the block cell. A wiring region for routing a clock signal line to a clock terminal, and a clock signal from a position that is symmetrical to any one of the peripheral positions of the block cell as viewed from the center position of the block cell to the clock terminal A wiring area for wiring is provided in the block cell.
[0077]
With such a configuration, when the program stored in the storage medium is read by the computer and the computer functions in accordance with the read program, the wiring region forming means causes the program to be detected from any part of the periphery of the block cell. A wiring area for wiring the clock signal line to the clock terminal, and a clock signal line from the position that is symmetrical to one of the peripheral edges of the block cell as viewed from the center position of the block cell to the clock terminal A wiring region for providing the data is provided in the block cell.
[0078]
Therefore, since at least two locations serving as the entrances to the wiring area are arranged symmetrically on the periphery of the block cell, when the block cell is arranged, the clock terminal that distributes the clock signal to the block cell from the clock terminal If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced, so that the clock signal skew can be further reduced. It is done.
[0079]
In the fifth block cell design support program, the storage area storing the seventh block cell design support program may be configured such that the wiring region forming means starts the clock from one side of the periphery of the block cell. A wiring region for wiring the clock signal line to the terminal and a wiring region for wiring the clock signal line from the side facing the one side of the periphery of the block cell to the clock terminal. It is designed to be provided.
[0080]
With such a configuration, when the program stored in the storage medium is read by the computer and the computer functions in accordance with the read program, the wiring area forming means causes the clock from one side of the block cell to the clock terminal. A wiring region for wiring the signal line and a wiring region for wiring the clock signal line from the side facing the one side of the block cell to the clock terminal are provided in the block cell.
[0081]
Therefore, at least two locations that serve as the entrances to the wiring area in the periphery of the block cell are provided in the vicinity of one side of the block cell and in the vicinity of the opposite side. There is a possibility that the distance from the clock buffer that distributes the clock signal to the block cell and the clock terminal may be shortened. If the clock buffer and the clock terminal are connected and wired, the wiring length can be further reduced. The effect of further reducing the skew is obtained.
[0082]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. 1 to 4 are diagrams showing a first embodiment of a block cell, a block cell design method, and a block cell design support apparatus according to the present invention.
[0083]
In this embodiment, a block cell, a block cell design method, and a block cell design support apparatus according to the present invention block a clock terminal C in a
[0084]
First, the configuration of a computer system to which the present invention is applied will be described with reference to FIG. FIG. 1 is a block diagram showing a configuration of a computer system to which the present invention is applied.
[0085]
As shown in FIG. 1, the computer 100 includes a
[0086]
The I /
[0087]
The
[0088]
The
[0089]
The storage device 42 has a role as a cell library for storing arrangement data for configuring the
[0090]
The
[0091]
The design support process is a process for generating chip mask pattern data necessary for manufacturing a semiconductor chip in the semiconductor integrated circuit and wiring mask pattern data necessary for forming a wiring pattern in the semiconductor integrated circuit. When executed in the
[0092]
In step S100, the arrangement data of the
[0093]
Specifically, in step S100, for example, as shown in FIG. 2 , C 4 , C 6 , C 8 Is provided in the vicinity of the center of each side of the
[0094]
Next, the process proceeds to step S102, where each cell in the
[0095]
In step S104, it is determined whether or not the configuration of all
[0096]
In step S108, chip mask pattern data and wiring mask pattern data are generated based on the placement / wiring results in steps S100, S102, and S106, and the process proceeds to step S110 to generate the generated chip mask pattern data and wiring mask pattern. The data is stored in the storage device 42, and the series of processing ends.
[0097]
On the other hand, when it is determined in step S104 that the configuration of all the
[0098]
Next, the operation of the first embodiment will be described with reference to FIG. FIG. 4 is a plan view showing a state in which the
[0099]
When designing a semiconductor integrated circuit using a block cell, the designer selects a block cell having a desired function from the storage device 42 and selects the block cell corresponding to the function of the semiconductor integrated circuit to be realized. The connection relationship is defined for the block cells. Here, as shown in FIG. 4, block
[0100]
When the block cell is selected and the connection relationship is defined in this way, the arrangement data of the
[0101]
Next, in step S102, each cell in the
[0102]
Therefore, the
[0103]
Next, through step S106, each of the
[0104]
In the example of FIG. 4, first, the
[0105]
Next, through steps S108 and S110, chip mask pattern data and wiring mask pattern data are generated based on the placement / wiring results in steps S100, S102, and S106, and the generated chip mask pattern data and wiring mask pattern data are generated. Is stored in the storage device 42.
[0106]
Then, based on the chip mask pattern data and the wiring mask pattern data, a semiconductor integrated circuit is manufactured. Specifically, a semiconductor chip is manufactured by forming bulk layers of standard cells and basic cells on a substrate using a mask pattern manufactured based on chip mask pattern data. Then, a wiring layer for wiring the standard cell and the basic cell is formed on the manufactured semiconductor chip by using the mask pattern manufactured based on the wiring mask pattern data, whereby a semiconductor integrated circuit is manufactured.
[0107]
Thus, in this embodiment, the clock terminal C 1 ~ C 8 Are provided near the periphery of the
[0108]
Thus, when the
[0109]
Furthermore, in this embodiment, the clock terminal C 2 , C 4 , C 6 , C 8 Is provided in the vicinity of the center of each side of the
[0110]
As a result, when the
[0111]
In the above embodiment, step S100 corresponds to the clock terminal forming step according to
[0112]
Next, a second embodiment of the present invention will be described with reference to the drawings. 5 to 7 are diagrams showing a second embodiment of a block cell, a block cell design method, and a block cell design support apparatus according to the present invention. Hereinafter, only the parts different from the first embodiment will be described, and the same parts as those in the first embodiment will be denoted by the same reference numerals and the description thereof will be omitted.
[0113]
In this embodiment, a block cell, a block cell design method, and a block cell design support apparatus according to the present invention block a clock terminal C in a
[0114]
When designing a semiconductor integrated circuit, the
[0115]
The design support process is a process for generating chip mask pattern data necessary for manufacturing a semiconductor chip in the semiconductor integrated circuit and wiring mask pattern data necessary for forming a wiring pattern in the semiconductor integrated circuit. When executed by the
[0116]
In step S200, the arrangement data of the
[0117]
Specifically, in this step S202, for example, as shown in FIG. 1 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 1 And the side center In of the
[0118]
Next, the process proceeds to step S204, where each cell in the
[0119]
In step S206, it is determined whether or not the configuration of all
[0120]
In step S210, chip mask pattern data and wiring mask pattern data are generated based on the placement / wiring results in steps S200 to S204 and S208, and the process proceeds to step S110 to generate the generated chip mask pattern data and wiring mask pattern. The data is stored in the storage device 42, and the series of processing ends.
[0121]
On the other hand, when it is determined in step S206 that the configuration of all the
[0122]
Next, the operation of the second embodiment will be described with reference to FIG. FIG. 7 is a plan view showing a state in which the
[0123]
When designing a semiconductor integrated circuit using a block cell, the designer selects a block cell having a desired function from the storage device 42 and selects the block cell corresponding to the function of the semiconductor integrated circuit to be realized. The connection relationship is defined for the block cells. Here, as shown in FIG. 7, block
[0124]
When the block cell is selected and the connection relation is defined in this manner, the arrangement data of the
[0125]
Next, through step S204, each cell in the
[0126]
Therefore, the
[0127]
Next, through step S208, the
[0128]
In the example of FIG. 7, first, the
[0129]
Then, through steps S108 and S110, chip mask pattern data and wiring mask pattern data are generated based on the placement / wiring results in steps S100, S102, and S106, and the generated chip mask pattern data and wiring mask pattern data are generated. Is stored in the storage device 42.
[0130]
In this way, in the present embodiment, the clock terminal C is provided in the
[0131]
Thus, when the
[0132]
Furthermore, in the present embodiment, the side center In of the
[0133]
As a result, when the
[0134]
In the above embodiment, step S200 corresponds to the clock terminal forming step according to
[0135]
In the first embodiment, the clock terminal C 2 , C 4 , C 6 , C 8 Is provided in the vicinity of the center of each side of the
[0136]
First, in the example of FIG. 8A, the clock terminal C is not provided on each side of the
[0137]
Next, in the example of FIG. 8B, the clock terminal C is not provided at each corner of the
[0138]
Next, in the example of FIG. 8C, the clock terminal C 1 Is provided at an arbitrary position on the periphery of the block cell 10 (for example, one corner of the block cell 10), and the clock terminal C 5 From the center position of the
[0139]
Next, in the example of FIG. 8D, the clock terminal C 1 Is provided at an arbitrary position on the periphery of the block cell 10 (for example, one corner of the block cell 10), and the clock terminal C 3 For the horizontal line passing through the center position O of the
[0140]
Next, in the example of FIG. 1 Is provided at an arbitrary position on the periphery of the block cell 10 (for example, one corner of the block cell 10), and the clock terminal C 7 For the vertical line passing through the center position O of the
[0141]
Next, in the example of FIG. 3 , C 5 , C 8 In providing the clock terminal C 5 And clock terminal C 8 Distance a to the clock terminal C 3 And clock terminal C 8 Distance b to the clock terminal C 3 And clock terminal C 5 These clock terminals C are provided so that the sum total with the distance c is maximized. Although the case where three clock terminals C are provided has been described here, the same procedure can be used when more clock terminals C are provided.
[0142]
As a result, each clock terminal C 3 , C 5 , C 8 Are arranged in a distributed manner, when the
[0143]
Next, in the example of FIG. 3 , C 5 , C 8 Each clock terminal C 3 , C 5 , C 8 The internal cell 14 that requires the clock signal input from and the clock terminal C 8 Wiring length l 1 And internal cell 14 and clock terminal C 5 Wiring length l 2 And internal cell 14 and clock terminal C 3 Wiring length l 3 These clock terminals C are provided so that the total sum of the two is minimized. Although the case where three clock terminals C are provided has been described here, the same procedure can be used when more clock terminals C are provided.
[0144]
Thereby, when the
[0145]
Note that the example of FIG. 8G is more preferably combined with the example of FIG. 8F from the viewpoint of reducing the wiring length.
[0146]
In the second embodiment, the side center In of the
[0147]
First, in the example of FIG. 9A, each side In of the
[0148]
Next, in the example of FIG. 9B, each side In of the
[0149]
Next, in the example of FIG. 9C, an arbitrary position on the periphery of the block cell 10 (for example, one corner portion In of the
[0150]
Next, in the example of FIG. 9D, an arbitrary position on the periphery of the block cell 10 (for example, one corner portion In of the
[0151]
Next, in the example of FIG. 9E, an arbitrary position on the periphery of the block cell 10 (for example, one corner portion In of the
[0152]
Next, in the example of FIG. 4 And the point In of the periphery of the
[0153]
As a result, a plurality of locations that serve as the entrances to the wiring regions are arranged in a distributed manner on the periphery of the
[0154]
In the first and second embodiments, the case where the control program stored in advance in the
[0155]
Here, the storage medium is a semiconductor storage medium such as RAM or ROM, a magnetic storage type storage medium such as FD or HD, an optical reading type storage medium such as CD, CDV, LD, or DVD, or a magnetic storage type such as MO. / Optical reading type storage media, including any storage media that can be read by a computer regardless of electronic, magnetic, optical, or other reading methods.
[0156]
Further, in the first embodiment, the block cell, the block cell design method, and the block cell design support apparatus according to the present invention are operated based on the clock signal as shown in FIG. In FIG. 5, by providing a plurality of clock terminals C near the periphery of the
[0157]
Also, in the second embodiment, the block cell, the block cell design method and the block cell design support apparatus according to the present invention are operated based on a clock signal as shown in FIG. In the case where the clock terminal C is provided in the
[0158]
【The invention's effect】
As described above, according to the block cells of the first to seventh aspects of the present invention, the wiring length can be reduced as compared with the conventional case, so that the clock signal can be obtained without adding an extra circuit. The effect that the skew can be reduced is obtained.
[0159]
Furthermore, according to the block cell according to the second, fourth, sixth, or seventh aspect of the present invention, there is an effect that the skew of the clock signal can be further reduced.
[0160]
On the other hand, according to the block cell design method according to
[0161]
On the other hand, according to the block cell design support apparatus according to claim 10 or 11 of the present invention, since the wiring length can be reduced as compared with the conventional case, the clock signal can be obtained without adding an extra circuit. The effect that the skew can be reduced is obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system to which the present invention is applied.
FIG. 2 is a flowchart showing a design support process.
3 is a diagram showing a configuration of a
4 is a plan view showing a state in which block
FIG. 5 is a flowchart showing design support processing;
6 is a diagram showing a configuration of a
7 is a plan view showing a state in which block
FIG. 8 is a diagram showing another embodiment of the present invention.
FIG. 9 is a diagram showing another embodiment of the present invention.
FIG. 10 is a plan view showing a state in which block
[Explanation of symbols]
10,12 block cells
20 root clock buffer
22-26 clock buffer
100 computers
30 CPU
32 ROM
34 RAM
38 I / F
40 input devices
42 Storage device
44 Display device
C Reset terminal
LP wiring area
CP cell placement area
Claims (5)
前記クロック信号を入力するためのクロック端子を当該ブロックセル内でその中心近傍に設け、当該ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を当該ブロックセル内に設けたことを特徴とするブロックセル。In a block cell that operates based on a clock signal,
A clock terminal for inputting the clock signal is provided in the vicinity of the center of the block cell, and a wiring region for wiring the clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal is provided. A block cell provided in a block cell.
前記配線領域は、当該ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの中心位置からみて当該ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを含むことを特徴とするブロックセル。In claim 1,
The wiring area includes a wiring area for wiring a clock signal line from any position of the periphery of the block cell to the clock terminal, and any of the periphery of the block cell as viewed from the center position of the block cell. And a wiring region for wiring a clock signal line from a location that is symmetrical to the location to the clock terminal.
前記配線領域は、当該ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを含むことを特徴とするブロックセル。In claim 1,
The wiring region includes a wiring region for wiring a clock signal line from one side of the periphery of the block cell to the clock terminal, and a side from the side facing the one side of the periphery of the block cell. A block cell comprising a wiring region for wiring a clock signal line to a terminal.
前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその中心近傍に設けるクロック端子形成工程と、前記ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を前記ブロックセル内に設ける配線領域形成工程とを含むことを特徴とするブロックセルの設計方法。In a block cell design method that operates based on a clock signal,
A clock terminal forming step in which a clock terminal for inputting the clock signal is provided in the block cell in the vicinity of the center thereof, and a clock signal line is wired from a plurality of different locations on the periphery of the block cell to the clock terminal. And a wiring region forming step of providing the wiring region in the block cell.
前記クロック信号を入力するためのクロック端子を前記ブロックセル内でその中心近傍に設けるクロック端子形成手段と、前記ブロックセルの周縁のうち異なる複数の箇所から前記クロック端子までクロック信号線を配線するための配線領域を前記ブロックセル内に設ける配線領域形成手段とを備えることを特徴とするブロックセルの設計支援装置。In a block cell design support device that operates based on a clock signal,
Clock terminal forming means for providing a clock terminal for inputting the clock signal in the vicinity of the center in the block cell, and wiring a clock signal line from a plurality of different locations on the periphery of the block cell to the clock terminal And a wiring region forming means for providing the wiring region in the block cell.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000254356A JP3617430B2 (en) | 2000-08-24 | 2000-08-24 | Block cell, block cell design method, and block cell design support apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000254356A JP3617430B2 (en) | 2000-08-24 | 2000-08-24 | Block cell, block cell design method, and block cell design support apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002076119A JP2002076119A (en) | 2002-03-15 |
JP3617430B2 true JP3617430B2 (en) | 2005-02-02 |
Family
ID=18743320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000254356A Expired - Fee Related JP3617430B2 (en) | 2000-08-24 | 2000-08-24 | Block cell, block cell design method, and block cell design support apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3617430B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004253772A (en) | 2003-01-31 | 2004-09-09 | Matsushita Electric Ind Co Ltd | Semiconductor integrated circuit device |
JP2006229091A (en) * | 2005-02-21 | 2006-08-31 | Fujitsu Ltd | Semiconductor integrated circuit and layout method therefor |
-
2000
- 2000-08-24 JP JP2000254356A patent/JP3617430B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002076119A (en) | 2002-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003092352A (en) | Clock signal distributing circuit for semiconductor integrated circuit device | |
JPS60263491A (en) | Wiring mutual connection structure | |
KR102717096B1 (en) | Integrated circuit and computer-implemented method for manufacturing the same | |
JP2007123336A (en) | Clock structure method of semiconductor integrated circuit and its program | |
US20080250379A1 (en) | Logic circuit synthesis device | |
JP3617430B2 (en) | Block cell, block cell design method, and block cell design support apparatus | |
US7958467B2 (en) | Deterministic system and method for generating wiring layouts for integrated circuits | |
US20040237060A1 (en) | Integrated circuit device, clock layout system, clock layout method, and clock layout program | |
JP2005184262A (en) | Semiconductor integrated circuit and its fabricating process | |
JPH113945A (en) | Clock tree design method of semiconductor integrated circuit and semiconductor integrated circuit by the same | |
JP2005116793A (en) | Semiconductor integrated circuit and its clock wiring method | |
JP3214447B2 (en) | IO buffer circuit with clock skew compensation function and semiconductor integrated circuit using the same | |
JP3705737B2 (en) | Semiconductor integrated circuit layout method | |
JP4248925B2 (en) | Automatic floor plan determination method | |
US6760896B2 (en) | Process layout of buffer modules in integrated circuits | |
JP2000172367A (en) | Clock signal distribution method and clock distribution circuit | |
US7992118B2 (en) | Semiconductor integrated circuit and design method for semiconductor integrated circuit | |
JP2005322694A (en) | Method for designing layout of semiconductor integrated circuit and its fabrication process | |
JP3017038B2 (en) | Design method of semiconductor integrated circuit | |
JP2004186257A (en) | Semiconductor integrated circuit and delay calculation method | |
JP2002151594A (en) | Design method for semiconductor integrated circuit and design support apparatus for semiconductor integrated circuit | |
JP2009253756A (en) | Layout generating method for clock distribution circuit, and semiconductor integrated circuitry | |
JP2957436B2 (en) | Gate array | |
JP2004087972A (en) | Semiconductor device and its clock signal wiring method | |
JP2001291772A (en) | Automatic layout method and apparatus for integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040914 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041101 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081119 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091119 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101119 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111119 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121119 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |