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 PDF

Info

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
Application number
JP2000254356A
Other languages
Japanese (ja)
Other versions
JP2002076119A (en
Inventor
健司 倉島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000254356A priority Critical patent/JP3617430B2/en
Publication of JP2002076119A publication Critical patent/JP2002076119A/en
Application granted granted Critical
Publication of JP3617430B2 publication Critical patent/JP3617430B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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に示すように、クロック端子C,C,C,Cをブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C,C,C,Cをブロックセル10の各角部の近傍にそれぞれ一つずつ設ける。図3は、ブロックセル10の構成を示す図である。
【0094】
次いで、ステップS102に移行して、読み出した配置データに基づいてブロックセル10内の各セルを配線し、この際に、各クロック端子C〜Cから入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内を配線し、ステップS104に移行する。
【0095】
ステップS104では、すべてのブロックセル10の構成が終了したか否かを判定し、すべてのブロックセル10の構成が終了したと判定されたとき(Yes)は、ステップS106に移行して、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10およびクロックバッファ等を配置するとともに、ブロックセル10にクロック信号を分配するクロックバッファと、ブロックセル10のクロック端子C〜Cのうちそのクロックバッファから最も近くにあるクロック端子とを接続・配線し、ステップ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の形成では、クロック端子C,C,C,Cがブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けられるとともに、クロック端子C,C,C,Cがブロックセル10の各角部の近傍にそれぞれ一つずつ設けられる。
【0101】
次いで、ステップS102を経て、読み出された配置データに基づいてブロックセル10内の各セルが配線され、この際に、各クロック端子C〜Cから入力したクロック信号に基づいてブロックセル10が動作するようにブロックセル10内が配線される。
【0102】
よって、これら一連の処理により、ブロックセル10が構成される。なお、これら一連の処理は、ブロックセル12についても同様に行われる。
【0103】
次いで、ステップS106を経て、自動配線アルゴリズム等により、半導体チップのセル配置領域に各ブロックセル10,12およびクロックバッファ等が配置されるとともに、ブロックセル10,12にクロック信号を分配するクロックバッファと、ブロックセル10,12のクロック端子C〜Cのうちそのクロックバッファから最も近くにあるクロック端子とが接続・配線される。
【0104】
図4の例では、まず、ルートクロックバッファ20と、クロックバッファ22〜26と、ブロックセル10,12とが配置される。そして、ルートクロックバッファ20と各クロックバッファ22〜26とが接続・配線され、クロックバッファ26と、ブロックセル10のクロック端子C〜Cのうちクロックバッファ26から最も近くにあるクロック端子Cとが接続・配線されるとともに、クロックバッファ26と、ブロックセル12のクロック端子C〜Cのうちクロックバッファ26から最も近くにあるクロック端子Cとが接続・配線される。
【0105】
次いで、ステップS108,S110を経て、ステップS100,S102,S106での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータが生成され、生成されたチップマスクパターンデータおよび配線マスクパターンデータが記憶装置42に格納される。
【0106】
そして、チップマスクパターンデータおよび配線マスクパターンデータに基づいて、半導体集積回路が製造される。具体的には、チップマスクパターンデータに基づいて製造されたマスクパターンにより、スタンダードセルおよびベーシックセルのバルク層が基板上に形成されることで、半導体チップが製造される。そして、配線マスクパターンデータに基づいて製造されたマスクパターンにより、スタンダードセルおよびベーシックセルを配線する配線層が、製造された半導体チップ上に形成されることで、半導体集積回路が製造される。
【0107】
このようにして、本実施の形態では、クロック端子C〜Cをブロックセル10内でその周縁近傍に複数設け、各クロック端子C〜Cから入力したクロック信号に基づいて動作するようにブロックセル10内を配線するようにした。
【0108】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ12と、クロック端子C〜Cのうちクロックバッファ26から最も近くにあるクロック端子Cとを接続・配線すれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができる。
【0109】
さらに、本実施の形態では、クロック端子C,C,C,Cをブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C,C,C,Cをブロックセル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の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設ける。また、ブロックセル10内の各セルを、ブロックセル10内において配線領域LP〜LP以外の領域CP〜CPに配置する。図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内の各セルが上記配線領域以外の領域に配置される。この配線領域の形成では、配線領域LPと、配線領域LPと、配線領域LPと、配線領域LPとがブロックセル10内に設けられる。また、ブロックセル10内における各セルの配置では、ブロックセル10内の各セルが領域CP〜CPに配置される。
【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の配線領域LPを経由してクロックバッファ26とブロックセル10のクロック端子Cとが接続・配線されるとともに、クロックバッファ26とブロックセル12のクロック端子Cとの距離が最短となるように、ブロックセル12の配線領域LPを経由してクロックバッファ26とブロックセル12のクロック端子Cとが接続・配線される。
【0129】
そして、ステップS108,S110を経て、ステップS100,S102,S106での配置・配線結果に基づいて、チップマスクパターンデータおよび配線マスクパターンデータが生成され、生成されたチップマスクパターンデータおよび配線マスクパターンデータが記憶装置42に格納される。
【0130】
このようにして、本実施の形態では、クロック端子Cをブロックセル10内でその中心近傍に設け、ブロックセル10の周縁のうち異なる複数の箇所からクロック端子Cまでクロック信号線を配線するための配線領域LP〜LPをブロックセル10内に設けるようにした。
【0131】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からは、クロックバッファ26とブロックセル10のクロック端子Cとの距離が最短となるように、ブロックセル10の周縁のうち配線領域の入口となる複数の箇所のいずれかを経由してブロックセル10のクロック端子Cまで配線すれば、従来に比して、配線長を小さくすることができるので、余分な回路を追加することなく、クロック信号のスキューを低減することができる。
【0132】
さらに、本実施の形態では、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設けるようにした。
【0133】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができるので、クロック信号のスキューをさらに低減することができる。
【0134】
上記実施の形態において、ステップS200は、請求項9記載のクロック端子形成工程、または請求項11記載のクロック端子形成手段に対応し、ステップS202は、請求項9記載の配線領域形成工程、または請求項11記載の配線領域形成手段に対応している。
【0135】
なお、上記第1の実施の形態においては、クロック端子C,C,C,Cをブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるとともに、クロック端子C,C,C,Cをブロックセル10の各角部の近傍にそれぞれ一つずつ設けるようにしたが、これに限らず、例えば、図8に示すように、クロック端子Cを設けるようにしてもよい。図8は、本発明の他の実施の形態を示す図である。
【0136】
まず、図8(a)の例では、クロック端子Cをブロックセル10の各辺に設けず、クロック端子C,C,C,Cをブロックセル10の各角部の近傍にそれぞれ一つずつ設けるようになっている。
【0137】
次に、図8(b)の例では、クロック端子Cをブロックセル10の各角部に設けず、クロック端子C,C,C,Cをブロックセル10の各辺中央の近傍にそれぞれ一つずつ設けるようになっている。もちろん、このようにブロックセル10の各辺中央に設けるのに限らず、各辺のいずれの場所に設けても差し支えない。
【0138】
次に、図8(c)の例では、クロック端子Cをブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子Cを、ブロックセル10の中心位置からみてクロック端子Cと点対称の位置に設けるようになっている。
【0139】
次に、図8(d)の例では、クロック端子Cをブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子Cを、ブロックセル10の中心位置Oを通る水平線に対してクロック端子Cと線対称の位置に設けるようになっている。
【0140】
次に、図8(e)の例では、クロック端子Cをブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部)に設け、クロック端子Cを、ブロックセル10の中心位置Oを通る垂直線に対してクロック端子Cと線対称の位置に設けるようになっている。
【0141】
次に、図8(f)の例では、クロック端子C,C,Cを設けるにあたって、クロック端子Cとクロック端子Cとの距離aと、クロック端子Cとクロック端子Cとの距離bと、クロック端子Cとクロック端子Cとの距離cとの総和が最大となるように、これらクロック端子Cを設けるようになっている。なお、ここでは、クロック端子Cを3つ設ける場合について説明したが、これよりも多数のクロック端子Cを設ける場合も同じ要領で行うことができる。
【0142】
これにより、各クロック端子C,C,Cが分散的に配置されるので、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26からクロック端子までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができる。
【0143】
次に、図8(g)の例では、クロック端子C,C,Cを設けるにあたって、各クロック端子C,C,Cから入力したクロック信号を必要とする内部セル14とクロック端子Cとの配線長lと、内部セル14とクロック端子Cとの配線長lと、内部セル14とクロック端子Cとの配線長lとの総和が最小となるように、これらクロック端子Cを設けるようになっている。なお、ここでは、クロック端子Cを3つ設ける場合について説明したが、これよりも多数のクロック端子Cを設ける場合も同じ要領で行うことができる。
【0144】
これにより、ブロックセル10を配置したときに、ブロックセル10にクロック信号を分配するクロックバッファ26に接続されるクロック端子Cから内部セル14までの距離が短くなる可能性があり、クロックバッファ26とクロック端子とを接続・配線すれば、配線長をさらに小さくすることができる。
【0145】
なお、図8(g)の例は、配線長を小さくする観点から図8(f)の例と組み合わせて行うのがより好適である。
【0146】
また、上記第2の実施の形態においては、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の辺中央Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設けるようにしたが、これに限らず、図9に示すように、配線領域をブロックセル10内に設けるようにしてもよい。図9は、本発明の他の実施の形態を示す図である。
【0147】
まず、図9(a)の例では、ブロックセル10の各辺In〜Inからクロック端子Cまでクロック信号線を配線するための配線領域LP〜LPを設けず、ブロックセル10の各角部In〜Inからクロック端子Cまでクロック信号線を配線するための配線領域LP〜LPをブロックセル10内に設けるようになっている。
【0148】
次に、図9(b)の例では、ブロックセル10の各辺In〜Inからクロック端子Cまでクロック信号線を配線するための配線領域LP〜LPと、ブロックセル10の各角部In〜Inからクロック端子Cまでクロック信号線を配線するための配線領域LP〜LPとをブロックセル10内に設けるようになっている。
【0149】
次に、図9(c)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In)からクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の中心位置からみて角部Inと点対称の位置Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設けるようになっている。
【0150】
次に、図9(d)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In)からクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の中心位置を通る水平線に対して角部Inと線対称の位置Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設けるようになっている。
【0151】
次に、図9(e)の例では、ブロックセル10の周縁の任意の位置(例えば、ブロックセル10の一つの角部In)からクロック端子Cまでクロック信号線を配線するための配線領域LPと、ブロックセル10の中心位置を通る垂直線に対して角部Inと線対称の位置Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル10内に設けるようになっている。
【0152】
次に、図9(f)の例では、ブロックセル10の周縁の点Inとブロックセル10の周縁の点Inとの距離aと、点Inとブロックセル10の周縁の点Inとの距離bと、点Inと点Inとの距離cとの総和が最大となるようにそれら点の位置を決定し、点Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、点Inからクロック端子Cまでクロック信号線を配線するための配線領域LPと、点Inからクロック端子Cまでクロック信号線を配線するための配線領域LPとをブロックセル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 clock buffer 26 must be routed to the opposite side of the block cells 10, 12. When the skew increases due to this routing, the clock buffers 21 and 23 are respectively connected between the clock buffer 26 and the block cell 10 and between the clock buffer 26 and the block cell 12 in order to prevent the skew from increasing. Must be provided. In this case, since the block cells 10 and 12 include cells to be formed on the gate array, the arrangement of the block cells 10 and 12 is reversed unless the design of the block cells 10 and 12 is changed. Can not do it.
[0006]
Therefore, in such a case, in order to prevent an increase in skew, it may be necessary to add extra circuits such as clock buffers 21 and 23, and the increase in circuit causes an increase in cost and a semiconductor integrated circuit. For example, when there is a design requirement to make the periphery of the block cells 10 and 12 non-arranged areas, the clock buffers 21 and 23 cannot be provided, and the increase in skew is reduced. Can not do it.
[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 claim 3 according to the present invention is the block cell according to claim 1, wherein any one of the plurality of clock terminals is provided near one side of the periphery of the block cell. The other terminals among the plurality of clock terminals are provided in the vicinity of the side facing the one side in the periphery of the block cell.
[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 claim 8 according to the present invention is a block cell design method which operates based on a clock signal, and a clock terminal for inputting the clock signal. A clock terminal forming step in which a plurality of the block cells are provided in the vicinity of the periphery of the block cell, and a wiring step in which wiring is performed so that the block cell operates based on a clock signal input from each clock terminal.
[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 claim 8, in the clock terminal forming step, any one of the plurality of clock terminals is viewed from a center position of the block cell. Provided at a position symmetrical to other terminals.
[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 claim 8, in the clock terminal forming step, any one of the plurality of clock terminals is provided in the vicinity of one side of the periphery of the block cell, Of the plurality of clock terminals, the other terminals are provided in the vicinity of the side facing the one side in the periphery of the block cell.
[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 claim 8, in the clock terminal forming step, the clock terminals are provided in the vicinity of different corners of the block cell.
[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 claim 9 according to the present invention is the block cell design method that operates based on a clock signal, wherein the clock terminal for inputting the clock signal is centered in the block cell. A clock terminal forming step provided in the vicinity; and a wiring region forming step in which 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.
[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 claim 9, the wiring region forming step includes a wiring region for wiring a clock signal line from any part of the periphery of the block cell to the clock terminal, A wiring region for wiring a clock signal line 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. Provide.
[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 claim 9, the wiring region forming step 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 wiring region for wiring a clock signal line from a side opposite to the one side of the periphery of the block cell to the clock terminal is provided in the block cell.
[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 claim 10, the clock terminal forming unit sets one of the plurality of clock terminals to the plurality of clock terminals when viewed from the center position of the block cell. Of these, it is provided at a position symmetrical to the other terminals.
[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 claim 10, the clock terminal forming unit provides one of the plurality of clock terminals in the vicinity of one side of the periphery of the block cell, Of the plurality of clock terminals, the other terminals are provided in the vicinity of the side facing the one side in the periphery of the block cell.
[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 claim 10, the clock terminal forming means provides the clock terminals in the vicinity of different corners of the block cell.
[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 claim 11, the wiring region forming means includes a wiring region for wiring a clock signal line from any position in the periphery of the block cell to the clock terminal. A wiring area for wiring a clock signal line 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. It is designed to be provided.
[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 claim 11, the wiring region forming unit includes a wiring region for wiring a clock signal line from one side of the periphery of the block cell to the clock terminal, 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 is provided in the block cell.
[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 claim 10. Is obtained.
[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 block cell 10 that operates based on a clock signal as shown in FIG. By providing a plurality in the vicinity of the periphery in the cell 10, when the block cell 10 is arranged, the wiring length between the block cell 10 and the clock buffer 26 is reduced and the skew of the clock signal is reduced. is there.
[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 CPU 30 that controls operations and the entire system based on a control program, a ROM 32 that stores a control program for the CPU 30 in a predetermined area, data read from the ROM 32, and the like. A RAM 34 for storing calculation results required in the calculation process of the CPU 30, a CRTC 36 for converting data stored in a specific area of the RAM 34 into an image signal and outputting the image signal to the display device 34, and data for the external device The I / F 38 mediates input / output, and these are connected to each other via a bus 39 that is a signal line for transferring data so that data can be exchanged.
[0086]
The I / F 38 includes, as external devices, an input device 40 such as a keyboard and a mouse that can input data as a human interface, a storage device 42 that stores data, tables, and the like as files, and a screen based on image signals. Is connected to a display device 44.
[0087]
The RAM 34 has a VRAM 35 that stores display data for display on the display device 44 as a specific area, and the VRAM 35 can be accessed independently by the CPU 30 and the CRTC 36.
[0088]
The CRTC 36 sequentially reads display data stored in the VRAM 35 from the top address in a predetermined cycle, converts the read display data into an image signal, and outputs the image signal to the display device 44.
[0089]
The storage device 42 has a role as a cell library for storing arrangement data for configuring the block cell 10 that has been subjected to optimization of arrangement and wiring in advance and whose function verification has been completed.
[0090]
The CPU 30 includes a microprocessing unit MPU and the like. When designing a semiconductor integrated circuit, the CPU 30 starts a predetermined program stored in a predetermined area of the ROM 32, and performs design support processing shown in the flowchart of FIG. 2 according to the program. It is supposed to run. FIG. 2 is a flowchart showing the design support process.
[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 CPU 30, first, as shown in FIG. 2, the process proceeds to step S100.
[0092]
In step S100, the arrangement data of the block cell 10 is read from the storage device 42, and a plurality of clock terminals C for inputting a clock signal are provided in the vicinity of the periphery in the block cell 10, and the block cell is based on the read arrangement data. Each cell in 10 is arranged. Note that the arrangement here is performed in a space virtually formed on the computer 100. The same applies to the wiring in the block cell 10 and the arrangement / wiring of the block cell 10.
[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 block cell 10 and a clock terminal C is provided. 1 , C 3 , C 5 , C 7 Is provided in the vicinity of each corner of the block cell 10. FIG. 3 is a diagram illustrating a configuration of the block cell 10.
[0094]
Next, the process proceeds to step S102, where each cell in the block cell 10 is wired based on the read arrangement data, and at this time, each clock terminal C 1 ~ C 8 The block cell 10 is wired so that the block cell 10 operates on the basis of the clock signal input from, and the process proceeds to step S104.
[0095]
In step S104, it is determined whether or not the configuration of all block cells 10 has been completed. When it is determined that the configuration of all block cells 10 has been completed (Yes), the process proceeds to step S106 and automatic wiring is performed. According to an algorithm or the like, each block cell 10 and a clock buffer are arranged in the cell arrangement region of the semiconductor chip, and a clock buffer that distributes a clock signal to the block cell 10 and a clock terminal C of the block cell 10 1 ~ C 8 Are connected and wired to the clock terminal closest to the clock buffer, and the process proceeds to step S108.
[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 block cells 10 is not completed (No), the process proceeds to step S100.
[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 block cells 10 and 12 designed according to the present embodiment are arranged and wired.
[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 cells 10 and 12 are selected as block cells.
[0100]
When the block cell is selected and the connection relationship is defined in this way, the arrangement data of the block cell 10 is read from the storage device 42 by the CPU 30 through step S100, and the clock terminal C is in the vicinity of the periphery in the block cell 10. And a plurality of cells in the block cell 10 are arranged based on the read arrangement data. In forming the clock terminal C, the clock terminal C 2 , C 4 , C 6 , C 8 Are respectively provided in the vicinity of the center of each side of the block cell 10 and the clock terminal C 1 , C 3 , C 5 , C 7 Is provided in the vicinity of each corner of the block cell 10.
[0101]
Next, in step S102, each cell in the block cell 10 is wired based on the read arrangement data, and at this time, each clock terminal C 1 ~ C 8 The inside of the block cell 10 is wired so that the block cell 10 operates based on the clock signal input from.
[0102]
Therefore, the block cell 10 is configured by a series of these processes. Note that the series of processing is similarly performed for the block cell 12.
[0103]
Next, through step S106, each of the block cells 10, 12 and the clock buffer, etc. are arranged in the cell arrangement area of the semiconductor chip by an automatic wiring algorithm, and the clock buffer for distributing the clock signal to the block cells 10, 12. The clock terminals C of the block cells 10 and 12 1 ~ C 8 Are connected and wired to the clock terminal closest to the clock buffer.
[0104]
In the example of FIG. 4, first, the root clock buffer 20, the clock buffers 22 to 26, and the block cells 10 and 12 are arranged. The root clock buffer 20 and the clock buffers 22 to 26 are connected and wired, and the clock buffer 26 and the clock terminal C of the block cell 10 are connected. 1 ~ C 8 Clock terminal C closest to the clock buffer 26 3 Are connected and wired, and the clock buffer 26 and the clock terminal C of the block cell 12 are connected. 1 ~ C 8 Clock terminal C closest to the clock buffer 26 1 Are connected and wired.
[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 block cell 10 and each clock terminal C 1 ~ C 8 The inside of the block cell 10 is wired so as to operate based on the clock signal inputted from the above.
[0108]
Thus, when the block cell 10 is arranged, the clock buffer 12 that distributes the clock signal to the block cell 10 and the clock terminal C 1 ~ C 8 Clock terminal C closest to the clock buffer 26 3 Since the wiring length can be reduced as compared with the prior art, the skew of the clock signal can be reduced without adding an extra circuit.
[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 block cell 10 and a clock terminal C is provided. 1 , C 3 , C 5 , C 7 One is provided in the vicinity of each corner of the block cell 10.
[0110]
As a result, when the block cell 10 is disposed, the distance from the clock buffer 26 that distributes the clock signal to the block cell 10 to the clock terminal may be shortened, and the clock buffer 26 and the clock terminal may be connected and wired. Thus, since the wiring length can be further reduced, the skew of the clock signal can be further reduced.
[0111]
In the above embodiment, step S100 corresponds to the clock terminal forming step according to claim 8, or the clock terminal forming means according to claim 10, and step S102 is the wiring step according to claim 8, or claim 10. It corresponds to the wiring means described.
[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 block cell 10 that operates based on a clock signal as shown in FIG. The present invention is applied to the case where the wiring length between the block cell 10 and the clock buffer 26 is reduced and the skew of the clock signal is reduced when the block cell 10 is arranged by providing the cell 10 near the center thereof. .
[0114]
When designing a semiconductor integrated circuit, the CPU 30 starts a predetermined program stored in a predetermined area of the ROM 32 and executes a design support process shown in the flowchart of FIG. 5 according to the program. FIG. 5 is a flowchart showing the design support process.
[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 CPU 30, as shown in FIG. 5, first, the process proceeds to step S200.
[0116]
In step S200, the arrangement data of the block cell 10 is read from the storage device 42, the clock terminal C for inputting the clock signal is provided in the vicinity of the center in the block cell 10, and the process proceeds to step S202. A wiring region for wiring the clock signal line from a plurality of different locations on the periphery to the clock terminal C is provided in the block cell 10, and each cell in the block cell 10 other than the wiring region is based on the read arrangement data. Place in the area. Note that the arrangement here is performed in a space virtually formed on the computer 100. The same applies to the wiring in the block cell 10 and the arrangement / wiring of the block cell 10.
[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 block cell 10 2 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 2 And the side center In of the block cell 10 3 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 3 And the side center In of the block cell 10 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 4 Are provided in the block cell 10. In addition, each cell in the block cell 10 is connected to the wiring region LP in the block cell 10. 1 ~ LP 4 Region CP other than 1 ~ CP 4 To place. FIG. 6 is a diagram illustrating a configuration of the block cell 10.
[0118]
Next, the process proceeds to step S204, where each cell in the block cell 10 is wired based on the read arrangement data, and at this time, the block cell 10 is operated based on the clock signal input from the clock terminal C. The inside of the block cell 10 is wired, and the process proceeds to step S206.
[0119]
In step S206, it is determined whether or not the configuration of all block cells 10 has been completed. When it is determined that the configuration of all block cells 10 has been completed (Yes), the process proceeds to step S208, and automatic wiring is performed. The block cells 10 and clock buffers are arranged and wired in the cell arrangement region of the semiconductor chip by an algorithm or the like, and the process proceeds to step S210.
[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 block cells 10 is not completed (No), the process proceeds to step S200.
[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 block cells 10 and 12 designed according to the present embodiment are arranged and wired.
[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 cells 10 and 12 are selected as block cells.
[0124]
When the block cell is selected and the connection relation is defined in this manner, the arrangement data of the block cell 10 is read from the storage device 42 by the CPU 30 through steps S200 and S202, and the clock terminal C is stored in the block cell 10 in the block cell 10. A wiring region is provided in the block cell 10 in the vicinity of the center for wiring the clock signal line from a plurality of different locations on the periphery of the block cell 10 to the clock terminal C, and based on the read arrangement data. Thus, each cell in the block cell 10 is arranged in an area other than the wiring area. In the formation of this wiring region, the wiring region LP 1 And wiring area LP 2 And wiring area LP 3 And wiring area LP 4 Are provided in the block cell 10. Further, in the arrangement of each cell in the block cell 10, each cell in the block cell 10 is a region CP. 1 ~ CP 4 Placed in.
[0125]
Next, through step S204, each cell in the block cell 10 is wired based on the read arrangement data, and at this time, the block cell 10 is operated based on the clock signal input from the clock terminal C. The inside of the block cell 10 is wired.
[0126]
Therefore, the block cell 10 is configured by a series of these processes. Note that the series of processing is similarly performed for the block cell 12.
[0127]
Next, through step S208, the block cells 10, 12 and the clock buffer and the like are arranged in the cell arrangement area of the semiconductor chip by an automatic wiring algorithm or the like.
[0128]
In the example of FIG. 7, first, the root clock buffer 20, clock buffers 22 to 26, and block cells 10 and 12 are arranged. The root clock buffer 20 and each of the clock buffers 22 to 26 are connected and wired, and the wiring region LP of the block cell 10 is set so that the distance between the clock buffer 26 and the clock terminal C of the block cell 10 is the shortest. 2 The clock buffer 26 and the clock terminal C of the block cell 10 are connected and wired via the circuit, and the wiring of the block cell 12 is made so that the distance between the clock buffer 26 and the clock terminal C of the block cell 12 is the shortest. Region LP 1 The clock buffer 26 and the clock terminal C of the block cell 12 are connected / wired via.
[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 block cell 10 in the vicinity of the center thereof, and the clock signal line is wired from the plurality of different locations on the periphery of the block cell 10 to the clock terminal C. Wiring area LP 1 ~ LP 4 Is provided in the block cell 10.
[0131]
Thus, when the block cell 10 is arranged, the block cell is arranged such that the distance between the clock buffer 26 and the clock terminal C of the block cell 10 is the shortest from the clock buffer 26 that distributes the clock signal to the block cell 10. If wiring is performed up to the clock terminal C of the block cell 10 via any of a plurality of locations that serve as entrances of the wiring region, the wiring length can be reduced as compared with the prior art. The skew of the clock signal can be reduced without adding an additional circuit.
[0132]
Furthermore, in the present embodiment, the side center In of the block cell 10 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 block cell 10 2 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 2 And the side center In of the block cell 10 3 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 3 And the side center In of the block cell 10 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 4 Are provided in the block cell 10.
[0133]
As a result, when the block cell 10 is disposed, the distance from the clock buffer 26 that distributes the clock signal to the block cell 10 to the clock terminal may be shortened, and the clock buffer 26 and the clock terminal may be connected and wired. Thus, since the wiring length can be further reduced, the skew of the clock signal can be further reduced.
[0134]
In the above embodiment, step S200 corresponds to the clock terminal forming step according to claim 9 or the clock terminal forming means according to claim 11, and step S202 corresponds to the wiring region forming step according to claim 9. This corresponds to the wiring region forming means described in Item 11.
[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 block cell 10 and a clock terminal C is provided. 1 , C 3 , C 5 , C 7 However, the present invention is not limited to this, and for example, a clock terminal C may be provided as shown in FIG. FIG. 8 is a diagram showing another embodiment of the present invention.
[0136]
First, in the example of FIG. 8A, the clock terminal C is not provided on each side of the block cell 10, and the clock terminal C is not provided. 1 , C 3 , C 5 , C 7 One is provided in the vicinity of each corner of the block cell 10.
[0137]
Next, in the example of FIG. 8B, the clock terminal C is not provided at each corner of the block cell 10, and the clock terminal C is not provided. 2 , C 4 , C 6 , C 8 One is provided in the vicinity of the center of each side of the block cell 10. Of course, it is not limited to being provided at the center of each side of the block cell 10 as described above, and may be provided at any location on each side.
[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 block cell 10 1 Are provided at point-symmetric positions.
[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 block cell 10 1 Are provided at positions symmetrical to the line.
[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 block cell 10 1 Are provided at positions symmetrical to the line.
[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 block cell 10 is arranged, there is a possibility that the distance from the clock buffer 26 that distributes the clock signal to the block cell 10 to the clock terminal may be shortened. And the wiring length can be further reduced.
[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 block cell 10 is arranged, the distance from the clock terminal C connected to the clock buffer 26 that distributes the clock signal to the block cell 10 to the internal cell 14 may be shortened. If the clock terminal is connected and wired, the wiring length can be further reduced.
[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 block cell 10 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 block cell 10 2 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 2 And the side center In of the block cell 10 3 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 3 And the side center In of the block cell 10 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 4 However, the present invention is not limited to this, and a wiring region may be provided in the block cell 10 as shown in FIG. FIG. 9 is a diagram showing another embodiment of the present invention.
[0147]
First, in the example of FIG. 9A, each side In of the block cell 10 1 ~ In 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 1 ~ LP 4 Each corner portion In of the block cell 10 5 ~ In 8 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 5 ~ LP 8 Are provided in the block cell 10.
[0148]
Next, in the example of FIG. 9B, each side In of the block cell 10 1 ~ In 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 1 ~ LP 4 And each corner portion In of the block cell 10 5 ~ In 8 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 5 ~ LP 8 Are provided in the block cell 10.
[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 block cell 10). 5 ) To the clock terminal C, the wiring region LP for wiring the clock signal line 5 And the corner portion In viewed from the center position of the block cell 10. 5 And point-symmetrical position In 7 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 7 Are provided in the block cell 10.
[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 block cell 10). 5 ) To the clock terminal C, the wiring region LP for wiring the clock signal line 5 And a corner portion In with respect to a horizontal line passing through the center position of the block cell 10 5 And line-symmetrical position In 6 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 6 Are provided in the block cell 10.
[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 block cell 10). 5 ) To the clock terminal C, the wiring region LP for wiring the clock signal line 5 And a corner portion In with respect to a vertical line passing through the center position of the block cell 10 5 And line-symmetrical position In 8 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 8 Are provided in the block cell 10.
[0152]
Next, in the example of FIG. 4 And the point In of the periphery of the block cell 10 7 Distance a and point In 4 And the point In of the periphery of the block cell 10 6 Distance b and point In 6 And point In 7 The positions of these points are determined so that the sum of the distance c and the distance c becomes the maximum, and the point In 4 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 4 And point In 6 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 6 And point In 7 Wiring region LP for wiring the clock signal line from the clock terminal C to the clock terminal C 7 Are provided in the block cell 10. Although the case where three wiring areas are provided has been described here, the same procedure can be used when a larger number of wiring areas are provided.
[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 block cell 10, so that when the block cell 10 is arranged, the clock buffer 26 that distributes the clock signal to the block cell 10 The distance to the clock terminal may be shortened, and the wiring length can be further reduced if the clock buffer 26 and the clock terminal are connected and wired.
[0154]
In the first and second embodiments, the case where the control program stored in advance in the ROM 32 is executed in the processes shown in the flowcharts of FIGS. 2 and 5 has been described. However, the present invention is not limited to this, and the program may be read from the storage medium storing the program showing these procedures into the RAM 34 and executed.
[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 block cell 10, when the block cell 10 is arranged, the wiring length between the block cell 10 and the clock buffer 26 is reduced, and the skew of the clock signal is reduced. Although it applied about the case, it is not restricted to this, It can apply also to other cases in the range which does not deviate from the main point of this invention.
[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 block cell 10 near the center thereof, the wiring length between the block cell 10 and the clock buffer 26 is reduced when the block cell 10 is arranged, and the skew of the clock signal is reduced. However, the present invention is not limited to this, and can be applied to other cases without departing from the gist of the present invention.
[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 claim 8 or 9 of the present invention, since the wiring length can be reduced as compared with the conventional case, the clock signal can be generated without adding an extra circuit. The effect that the skew can be reduced is obtained.
[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 block cell 10. FIG.
4 is a plan view showing a state in which block cells 10 and 12 designed according to the present embodiment are arranged and wired. FIG.
FIG. 5 is a flowchart showing design support processing;
6 is a diagram showing a configuration of a block cell 10. FIG.
7 is a plan view showing a state in which block cells 10 and 12 designed according to the present embodiment are arranged and wired. FIG.
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 cells 10 and 12 designed by a conventional design method are arranged and wired.
[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.
請求項1において、
前記配線領域は、当該ブロックセルの周縁のうちいずれかの箇所から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの中心位置からみて当該ブロックセルの周縁のうち前記いずれかの箇所と対称となる位置にある箇所から前記クロック端子までクロック信号線を配線するための配線領域とを含むことを特徴とするブロックセル。
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.
請求項1において、
前記配線領域は、当該ブロックセルの周辺のうち一の辺から前記クロック端子までクロック信号線を配線するための配線領域と、当該ブロックセルの周辺のうち前記一の辺に対向する辺から前記クロック端子までクロック信号線を配線するための配線領域とを含むことを特徴とするブロックセル。
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.
JP2000254356A 2000-08-24 2000-08-24 Block cell, block cell design method, and block cell design support apparatus Expired - Fee Related JP3617430B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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