JP4161418B2 - Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus - Google Patents

Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus Download PDF

Info

Publication number
JP4161418B2
JP4161418B2 JP18408798A JP18408798A JP4161418B2 JP 4161418 B2 JP4161418 B2 JP 4161418B2 JP 18408798 A JP18408798 A JP 18408798A JP 18408798 A JP18408798 A JP 18408798A JP 4161418 B2 JP4161418 B2 JP 4161418B2
Authority
JP
Japan
Prior art keywords
extracted
area
rectangular
coordinate value
region
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
JP18408798A
Other languages
Japanese (ja)
Other versions
JP2000020566A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP18408798A priority Critical patent/JP4161418B2/en
Publication of JP2000020566A publication Critical patent/JP2000020566A/en
Application granted granted Critical
Publication of JP4161418B2 publication Critical patent/JP4161418B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、フロアプランナで作成した集積回路のフロアプランデータを、フロアプランナと論理合成ツールやタイミング解析ツール等との間のインタフェースであるPDEF(Physical Design Exchange Format)に出力する場合等に使用する直角多角形領域分割方法及び直角多角形領域分割プログラムを記録した記録媒体並びに直角多角形領域分割装置に関する。
【0002】
フロアプランナで作成した集積回路のフロアプランデータをPDEFに出力する場合には、直角多角形領域(90°及び270°の内角を有する多角形領域)を複数の矩形領域に分割する必要がある。この場合、PDEFデータ量を少なくし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図るためには、直角多角形領域を出来る限り少ない数の矩形領域に分割することが望ましい。
【0003】
【従来の技術】
従来、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割方法として、一律に縦方向に分割する方法又は一律に横方向に分割する方法が使用されていた。
【0004】
たとえば、図58(A)に示す直角多角形領域1を複数の矩形領域に分割する場合、一律に縦方向に分割する方法では、図58(B)に示すように、直角多角形領域1は、8個の矩形領域2−1〜2−8に分割され、一律に横方向に分割する方法では、図58(C)に示すように、直角多角形領域1は、7個の矩形領域3−1〜3−7に分割される。
【0005】
この例では、一律に横方向に分割する場合の方が一律に縦方向に分割する場合よりも抽出する矩形領域の数を少なくすることができるが、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する場合には、設計者の経験などにより、一律に縦方向に分割する方法又は一律に横方向に分割する方法が選択的に使用されていた。
【0006】
【発明が解決しようとする課題】
しかし、図58(A)に示す直角多角形領域1を最少数の矩形領域に分割しようとすると、図59に示すように、6個の矩形領域4−1〜4−6に分割することができる。
【0007】
この分割方法は、図60(A)に示すような横T字形の直角多角形領域については、図60(B)に示すように横方向に分割すべきではなく、図60(C)に示すように縦方向に分割する場合に最少数の矩形領域に分割でき、図60(D)に示すようなT字形の直角多角形領域及び図60(G)に示すような逆T字形の直角多角形領域については、図60(E)、(H)に示すように縦方向に分割すべきではなく、図60(F)、(I)に示すように横方向に分割する場合に最少数の矩形領域に分割することができるということに基づいている。
【0008】
なお、図61(A)に示すようなN字形の直角多角形領域については、図61(B)に示すように横方向に分割すべきではなく、図61(C)に示すように縦方向に分割する場合に最少数の矩形領域に分割することができる。
【0009】
本発明は、かかる点に鑑み、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができるようにし、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができるようにした直角多角形領域分割方法及び直角多角形領域分割プログラムを記録した記録媒体並びに直角多角形領域分割装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明中、第1の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0011】
第1の発明によれば、たとえば、図1(A)に示すような横T字形の直角多角形領域6を複数の矩形領域に分割する場合、図1(B)に示すように、最少数である2個の矩形領域7−1、7−2に分割することができ、図1(C)に示すように、3個の矩形領域8−1〜8−3に分割しないようにすることができる。
【0012】
また、たとえば、図1(D)に示すような段差のある横T字形の直角多角形領域9を複数の矩形領域に分割する場合、図1(E)に示すように、最少数の3個の矩形領域10−1〜10−3に分割することができ、図1(F)に示すように、4個の矩形領域11−1〜11−4に分割しないようにすることができる。
【0013】
したがって、第1の発明によれば、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0014】
本発明中、第2の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0015】
第2の発明によれば、たとえば、図2(A)に示すようなN字形の直角多角形領域12を複数の矩形領域に分割する場合、図2(B)に示すように、最少数の2個の矩形領域13−1、13−2に分割することができ、図2(C)に示すように、3個の矩形領域14−1〜14−3に分割しないようにすることができる。
【0016】
また、たとえば、図2(D)に示すような逆T字形の直角多角形領域15を複数の矩形領域に分割する場合、図2(E)に示すように、最少数の2個の矩形領域16−1、16−2に分割することができ、図2(F)に示すように、3個の矩形領域17−1〜17−3に分割しないようにすることができる。T字形の直角多角形領域を分割する場合も同様である。
【0017】
したがって、第2の発明によれば、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0018】
本発明中、第3の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0019】
第3の発明によれば、第1の発明が含んでいる工程と、第2の発明が含んでいる工程とを含んでいるので、横T字形、N字形,逆T字形及びT字形の直角多角形領域を最少数の矩形領域に分解することができる。したがって、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0020】
本発明中、第4の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0021】
第4の発明によれば、たとえば、図3(A)に示すような横T字形の直角多角形領域19を複数の矩形領域に分割する場合、図3(B)に示すように、最少数の2個の矩形領域20−1、20−2に分割することができ、図3(C)に示すように、3個の矩形領域21−1〜21−3に分割しないようにすることができる。
【0022】
また、たとえば、図3(D)に示すような段差がある横T字形の直角多角形領域22を複数の矩形領域に分割する場合、図3(E)に示すように、最少数の3個の矩形領域23−1〜23−3に分割することができ、図3(F)に示すように、4個の矩形領域24−1〜24−4に分割しないようにすることができる。
【0023】
したがって、第4の発明によれば、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0024】
本発明中、第5の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0025】
第5の発明によれば、たとえば、図4(A)に示すようなN字形の直角多角形領域25を複数の矩形領域に分割する場合、図4(B)に示すように、最少数の2個の矩形領域26−1、26−2に分割することができ、図4(C)に示すように、3個の矩形領域27−1〜27−3に分割しないようにすることができる。
【0026】
また、たとえば、図4(D)に示すような逆T字形の直角多角形領域28を複数の矩形領域に分割する場合、図4(E)に示すように、最少数の2個の矩形領域29−1、29−2に分割することができ、図4(F)に示すように、3個の矩形領域30−1〜30−3に分割しないようにすることができる。T字形の直角多角形領域を分割する場合も同様である。
【0027】
したがって、第5の発明によれば、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0028】
本発明中、第6の発明は、フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを含んでいるというものである。
【0029】
第6の発明によれば、第4の発明が含んでいる工程と、第5の発明が含んでいる工程とを含んでいるので、横T字形、N字形,逆T字形及びT字形の直角多角形領域を最少数の矩形領域に分解することができる。したがって、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少量の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0030】
本発明中、第7の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0031】
第7の発明によれば、第1の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0032】
本発明中、第8の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0033】
第8の発明によれば、第2の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0034】
本発明中、第9の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0035】
第9の発明によれば、第3の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少量の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0036】
本発明中、第10の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0037】
第10の発明によれば、第4の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0038】
本発明中、第11の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0039】
第11の発明によれば、第5の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0040】
本発明中、第12の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいるというものである。
【0041】
第12の発明によれば、第6の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少量の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0042】
本発明中、第13の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0043】
第13の発明によれば、第1の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0044】
本発明中、第14の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0045】
第14の発明によれば、第2の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0046】
本発明中、第15の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を右方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0047】
第15の発明によれば、第3の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少量の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0048】
本発明中、第16の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0049】
第16の発明によれば、第4の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0050】
本発明中、第17の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0051】
第17の発明によれば、第5の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最少とすることができる。
【0052】
本発明中、第18の発明は、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、直角多角形領域の最右端の垂直辺を、抽出すべき矩形領域の右辺として認識し、抽出すべき矩形領域の右辺と一致する線分を仮想する工程と、前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が直角多角形領域の外部に食み出さない限り、前記線分を左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程と、前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を左方向に走査し、前記線分の一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に抽出すべき矩形領域の左辺があるものとして抽出すべき矩形領域を抽出する工程とを実行する手段を有しているというものである。
【0053】
第18の発明によれば、第6の発明を実行し、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を最少量の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を最少とすることができる。
【0054】
【発明の実施の形態】
図5〜図16は本発明の直角多角形領域分割方法の一実施形態を説明するための図である。本発明の直角多角形領域分割方法の一実施形態は、矩形領域抽出工程で発生する矩形領域は直角多角形領域として扱うことを前提とし、後述する工程A1→後述する工程A2→抽出した矩形領域の位置データのPDEFへの出力→抽出した矩形領域の削除、又は、後述する工程A1→後述する工程A3→抽出した矩形領域の位置データのPDEFへの出力→抽出した矩形領域の削除を繰り返して行うというものである。
【0055】
工程A1は、分割対象の直角多角形領域の最左端の垂直辺を、抽出すべき矩形領域の左辺として認識し、抽出すべき矩形領域の左辺と一致する線分XYを仮想する工程である。
【0056】
工程A2は、線分XYを含む上下方向を観察しながら、線分XYの一部又は全体が直角多角形領域の外部に食み出さない限り、線分XYを方向に走査し、線分XYの上下方向に横T字形を構成する垂直辺を検出した時は、その時の線分XYの位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程である。
【0057】
工程A3は、線分XYを含む上下方向を観察しながら、線分XYの上下方向に横T字形を構成する垂直辺を検出しない限り、線分XYを方向に走査し、線分XYの一部又は全体が直角多角形領域の外部に食み出した場合には、食み出す前の線分XYの位置に抽出すべき矩形領域の右辺があるものとして抽出すべき矩形領域を抽出する工程である。
【0058】
たとえば、図5(A)に示すような直角多角形領域32を複数の矩形領域に分割する場合には、まず、図5(B)に示すように、最左端の垂直辺33、34のうち、たとえば、垂直辺33を抽出すべき矩形領域の左辺として認識し、垂直辺33に一致する線分XYを仮想する(工程A1)。
【0059】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分XYの上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域32の外部に食み出すこともなく、図5(C)に示すように、全体を直角多角形領域32の外部に食み出すことになる。
【0060】
したがって、この場合には、図5(D)に示すように、線分XYの全体が直角多角形領域32の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺33に対向する右辺34があるものとして抽出すべき矩形領域35を抽出する(工程A3)。
【0061】
そして、抽出した矩形領域35の位置データをPDEFに出力し、図6(A)に示すように、抽出した矩形領域35を直角多角形領域32から削除する。このようにすると、直角多角形領域36及び矩形領域37が残存することになる。なお、矩形領域37は、直角多角形領域として扱われることになる。
【0062】
そこで、次に、図6(B)に示すように、直角多角形領域36の最左端の垂直辺38を抽出すべき矩形領域の左辺として認識し、垂直辺38に一致する線分XYを仮想する(工程A1)。
【0063】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分XYの上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域36の外部に食み出すことなく、図6(C)に示すように、全体を直角多角形領域36の外部に食み出すことになる。
【0064】
したがって、この場合には、図6(D)に示すように、線分XYの全体が直角多角形領域36の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺38に対向する右辺39があるものとして抽出すべき矩形領域40を抽出する(工程A3)。
【0065】
そして、抽出した矩形領域40の位置データをPDEFに出力し、図7(A)に示すように、抽出した矩形領域40を直角多角形領域36から削除する。このようにすると、直角多角形領域37と、矩形領域41と、直角多角形領域42が残存することになる。なお、矩形領域41は、直角多角形領域として扱われることになる。
【0066】
そこで、次に、図7(B)に示すように、直角多角形領域(矩形領域)41の垂直辺43を抽出すべき矩形領域の左辺として認識し、垂直辺43に一致する線分XYを仮想する(工程A1)。
【0067】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分XYの上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域41の外部に食み出すことなく、図7(C)に示すように、全体を直角多角形領域41の外部に食み出すことになる。
【0068】
したがって、この場合には、図7(D)に示すように、線分XYの全体が直角多角形領域41の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺43に対向する右辺44があるものとして抽出すべき矩形領域41を抽出する(工程A3)。
【0069】
そして、抽出した矩形領域41の位置データをPDEFに出力し、図8(A)に示すように、抽出した矩形領域41を削除する。このようにすると、直角多角形領域37、42が残存することになる。
【0070】
そこで、次に、図8(B)に示すように、直角多角形領域(矩形領域)37の垂直辺45を抽出すべき矩形領域の左辺として認識し、垂直辺45に一致する線分XYを仮想する(工程A1)。
【0071】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分XYの上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域37の外部に食み出すことなく、図8(C)に示すように、全体を直角多角形領域37の外部に食み出すことになる。
【0072】
したがって、この場合には、図8(D)に示すように、線分XYの全体が直角多角形領域37の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺45に対向する右辺46があるものとして抽出すべき矩形領域37を抽出する(工程A3)。
【0073】
そして、抽出した矩形領域37の位置データをPDEFに出力し、図9(A)に示すように、抽出した矩形領域37を削除する。このようにすると、直角多角形領域42が残存することになる。
【0074】
そこで、次に、図9(B)に示すように、直角多角形領域42の垂直辺47を抽出すべき矩形領域の左辺として認識し、垂直辺47に一致する線分XYを仮想する(工程A1)。
【0075】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、線分XYがその一部又は全体を直角多角形領域42の外部に食み出す前に、図9(C)に示すように、線分XYの上下方向に横T字形を構成する垂直辺48、49を検出することになる。
【0076】
したがって、この場合には、図9(D)に示すように、上下方向に横T字形を構成する垂直辺48、49を検出した時の線分XYの位置に抽出すべき矩形領域の左辺47に対向する右辺50があるものとして抽出すべき矩形領域51を抽出する(工程A2)。
【0077】
そして、抽出した矩形領域51の位置データをPDEFに出力し、図10(A)に示すように、抽出した矩形領域51を削除する。このようにすると、矩形領域52が残存することになる。なお、矩形領域52は、直角多角形領域として扱われることになる。
【0078】
そこで、次に、図10(B)に示すように、直角多角形領域(矩形領域)52の垂直辺53を抽出すべき矩形領域の左辺として認識し、垂直辺53に一致する線分XYを仮想する(工程A1)。
【0079】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分XYの上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域52の外部に食み出すことなく、図10(C)に示すように、全体を直角多角形領域52の外部に食み出すことになる。
【0080】
したがって、この場合には、図10(D)に示すように、線分XYの全体が直角多角形領域52の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺53に対向する右辺54があるものとして抽出すべき矩形領域52を抽出する(工程A3)。
【0081】
そして、抽出した矩形領域52の位置データをPDEFに出力し、抽出した矩形領域52を削除する。このようにすると、直角多角形領域32の分割は終了することになる。
【0082】
このように、図5(A)に示す直角多角形領域32を分割する際に、本発明の直角多角形領域分割方法の一実施形態を使用すると、図11に示すように、最少数の6個の矩形領域35、37、40、41、47、52に分割することができる。
【0083】
また、たとえば、図12(A)に示すような直角多角形領域56を複数の矩形領域に分割する場合には、まず、図12(B)に示すように、最左端の垂直辺57を抽出すべき矩形領域の左辺として認識し、垂直辺57に一致する線分XYを仮想する(工程A1)。
【0084】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、線分XYがその一部又は全体を直角多角形領域56の外部に食み出す前に、図12(C)に示すように、線分XYの上下方向に横T字形を構成する垂直辺58、59を検出することになる。
【0085】
したがって、この場合には、図12(D)に示すように、上下方向に横T字形を構成する垂直辺58、59を検出した時の線分XYの位置に抽出すべき矩形領域の左辺57に対向する右辺60があるものとして抽出すべき矩形領域61を抽出する(工程A2)。
【0086】
そして、抽出した矩形領域61の位置データをPDEFに出力し、図13(A)に示すように、抽出した矩形領域61を削除する。このようにすると、直角多角形領域62が残存することになる。
【0087】
そこで、次に、図13(B)に示すように、直角多角形領域62の最左端の垂直辺63を抽出すべき矩形領域の左辺として認識し、垂直辺63に一致する線分XYを仮想する(工程A1)。
【0088】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、線分XYがその一部又は全体を直角多角形領域62の外部に食み出す前に、図13(C)に示すように、線分XYの上下方向に横T字形を構成する垂直辺64、65を検出することになる。
【0089】
したがって、この場合には、図13(D)に示すように、上下方向に横T字形を構成する垂直辺64、65を検出した時の線分XYの位置に抽出すべき矩形領域の左辺63に対向する右辺66があるものとして抽出すべき矩形領域67を抽出する(工程A2)。
【0090】
そして、抽出した矩形領域67の位置データをPDEFに出力し、図14(A)に示すように、抽出した矩形領域67を削除する。このようにすると、直角多角形領域68が残存することになる。
【0091】
そこで、次に、図14(B)に示すように、直角多角形領域68の最左端の垂直辺69を抽出すべき矩形領域の左辺として認識し、垂直辺69に一致する線分XYを仮想する(工程A1)。
【0092】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、線分XYは、一部又は全体を直角多角形領域68の外部に食み出すことなく、図14(C)線分XYの上下方向に横T字形を構成する
垂直辺70、71を検出することになる。
【0093】
したがって、この場合には、図14(D)に示すように、上下方向に横T字形を構成する垂直辺70、71を検出した時の線分XYの位置に抽出すべき矩形領域の左辺69に対向する右辺72があるものとして抽出すべき矩形領域73を抽出する(工程A2)。
【0094】
そして、抽出した矩形領域73の位置データをPDEFに出力し、図15(A)に示すように、抽出した矩形領域73を削除する。このようにすると、矩形領域74が残存することになる。なお、矩形領域74は、直角多角形領域として扱われることになる。
【0095】
そこで、次に、図15(B)に示すように、直角多角形領域(矩形領域)74の垂直辺75を抽出すべき矩形領域の左辺として認識し、垂直辺75に一致する線分XYを仮想する(工程A1)。
【0096】
そして、線分XYを含む上下方向を観察しながら、線分XYを右方向に走査する。このようにすると、走査中に、線分の上下方向に横T字形を構成する垂直辺を検出することなく、かつ、線分XYは、一部を直角多角形領域74の外部に食み出すことなく、図15(C)に示すように、全体が直角多角形領域74の外部に食み出すことになる。
【0097】
したがって、この場合には、図15(D)に示すように、線分XYの全体が直角多角形領域74の外部に食み出す前の線分XYの位置に抽出すべき矩形領域の左辺74に対向する右辺76があるものとして抽出すべき矩形領域74を抽出する(工程A3)。
【0098】
そして、抽出した矩形領域74をPDEFデータとして出力し、抽出した矩形領域74を削除する。このようにすると、直角多角形領域56の分割は終了することになる。
【0099】
このように、図12(A)に示す直角多角形領域56を分割する際に、本発明の直角多角形領域分割方法の一実施形態を使用すると、図16に示すように、最少数の4個の矩形領域61、67、73、74に分割することができる。
【0100】
以上のように、本発明の直角多角形領域分割方法の一実施形態によれば、横T字形は縦方向に分割し、T字形及び逆T字形は横方向に分割することができ、更に、図示は省略したが、N字形は縦方向に分割することができるので、直角多角形領域を最少数の矩形領域に分割することができる。したがって、PDEFデータ量を最少とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができる。
【0101】
なお、本発明の直角多角形領域分割方法の一実施形態においては、直角多角形領域の最左端の垂直辺を認識し、この垂直辺に一致する線分を仮想し、この線分を右方向に走査するようにした場合について説明したが、この代わりに、直角多角形領域の最右端の垂直辺を認識し、この垂直辺に一致する線分を仮想し、この線分を左方向に走査するようにしても良い。
【0102】
【実施例】
図17〜図26は本発明の直角多角形領域分割方法の一実施例を示すフローチャート、図27〜図56は本発明の直角多角形領域分割方法の一実施例を説明するための図であり、本発明の直角多角形領域分割方法の一実施例においては、図27に示す直角多角形領域78及び図43に示す直角多角形領域79を分割する場合を例にしながら説明する。
【0103】
なお、図27に示す直角多角形領域78は、図28に示す矩形領域80に図29に示す矩形領域81〜86を重ねることにより発生したものであり、図43に示す直角多角形領域79は、図44に示す矩形領域87に図45に示す矩形領域88〜91を重ねることにより発生したものである。
【0104】
図17及び図18は本発明の直角多角形領域分割方法の一実施例におけるメイン処理プログラムを示すフローチャートであり、本発明の直角多角形領域分割方法の一実施例においては、まず、初期処理を行い、二次元配列のX座標とY座標の最大値(MAX_X, MAX_Y)の設定及び二次元配列上に配置するボックス数(MAX_BOX)の設定を行う(ステップS1−1)。
【0105】
ここに、図27に示す直角多角形領域78を分割対象とする場合には、図30に示すように、たとえば、MAX_X=14, MAX_Y=12 と設定し、図43に示す直角多角形領域79を分割対象とする場合には、図46に示すように、たとえば、MAX_X=13, MAX_Y=11 と設定する。
【0106】
次に、i番目のボックス(BOX[i])は矩形領域に分割しようとするボックスであることを前提として、i=0 と設定し(ステップS1−2)、i<MAX_BOX であるか否かを判断し(ステップS1−3)、i<MAX_BOX でなくなるまで、ステップS1−3のYES以下の処理を繰り返し、i<MAX_BOX でなくなったときは、メイン処理を終了する。
【0107】
ステップS1−3で i<MAX_BOX と判断した場合には、座標(0,0) から座標(MAX_X,MAX_Y)の範囲の二次元配列 BLACK_BOX[x][y] の全てに後述する二次元配列のチェック処理プログラムに従って「0」をセットし、座標(0,0) から座標(MAX_X,MAX_Y)の範囲の二次元配列 BLACK_BOX[x][y] をクリアする(ステップS1−4)。
【0108】
即ち、図27に示す直角多角形領域78を分割対象としている場合には、図31に示すように、座標(0,0)から座標(14,12)の範囲の二次元配列 BLACK_BOX[x][y] にすべて「0」をセットし、図43に示す直角多角形領域79を分割対象としている場合には、図47に示すように、座標(0,0)から座標(13,11)の範囲の二次元配列 BLACK_BOX[x][y] にすべて「0」をセットする。
【0109】
次に、BOX[i](現段階では、BOX[0])の二次元配列に後述する二次元配列のチェック処理プログラムに従って「1」をセットする(ステップS1−5)。即ち、図27に示す直角多角形領域78を分割対象としている場合には、図32に示すようにBOX[0](図28に示す矩形領域80)の二次元配列に「1」をセットし、図43に示す直角多角形領域79を分割対象としている場合には、図48に示すようにBOX[0](図44に示す矩形領域87)の二次元配列に「1」をセットする。
【0110】
次に、i<MAX_BOX-1 であるか否かを判断し(ステップS1−6)、i<MAX_BOX-1 でなくなるまで、即ち、BOX[i] が最後の矩形となるまで、ステップS1−6のYES以下の処理を行う。
【0111】
即ち、ステップS1−6で i<MAX_BOX-1 であると判断したときは、j番目のBOX[j]は、BOX[i](現段階では、BOX[0])上に重ねるボックスであることを前提として、j=i+1 とする(ステップS1−7)。
【0112】
次に、j<MAX_BOX(矩形領域の最大数)であるか否かを判断し(ステップS1−8)、j<MAX_BOX の場合には、BOX[j] の二次元配列に「0」をセットし(ステップS1−9)、続いて、j=j+1 とし(ステップS1−10)、j<MAX_BOX でなくなるまで、ステップS1−9、S1−10)を繰り返す。
【0113】
即ち、図27に示す直角多角形領域78を分割対象としている場合には、図33に示すように、BOX[j=1](図29に示す矩形領域81)の二次元配列に「0」をセットし、続いて、図34に示すように、BOX[j=2](矩形領域82)、BOX[j=3](矩形領域83)、BOX[j=4](矩形領域84)、BOX[j=5](矩形領域85)及び BOX[j=6](矩形領域86)の二次元配列に順に「0」をセットする。
【0114】
また、図43に示す直角多角形領域79を分割対象としている場合には、図49に示すように、BOX[j=1](図45に示す矩形領域88)の二次元配列に「0」をセットし、続いて、図50に示すように、BOX[j=2](矩形領域89)、BOX[j=3](矩形領域90)及び BOX[j=4](矩形領域91)の二次元配列に順に「0」をセットする。
【0115】
このようにすると、図27に示す直角多角形領域78を分割対象としている場合には、図35に示すように、まず、分割すべき直角多角形領域 BOX[i=0](図27に示す直角多角形領域78)が残存することになり、図43に示す直角多角形領域79を分割対象としている場合には、図51に示すように、分割すべき直角多角形領域 BOX[i=0](図43に示す直角多角形領域79)が残存することになる。
【0116】
このようにして、分割すべき直角多角形領域が残存する状態になった場合(ステップS1−8でNOの場合)には、後述する矩形領域認識処理プログラム及び矩形領域抽出処理プログラムに従って矩形領域認識処理及び矩形領域抽出処理を行い(ステップS1−11)、これが終了した場合には、i=i+1 とし(ステップS1−12)、ステップS1−3に戻り、BOX[i=0] を BOX[i=1] として以上の処理を繰り返す。
【0117】
なお、ステップS1−6でNOとなった場合、即ち、BOX[i] が最後の矩形となったときは、重なっている矩形は存在しないので、最後の矩形について、直角多角形領域と見なして矩形領域認識処理及び矩形領域抽出処理を行う(ステップS1−11)。
【0118】
図19は二次元配列のチェック処理(対象としている座標範囲の二次元配列に「0」を入れるか、「1」を入れるかの処理)プログラムを示すフローチャートであり、図17に示すステップS1−4、S1−5及び図18に示すステップS1−9及び図26に示すステップS5−2に適用される。
【0119】
図19に示す二次元配列のチェック処理プログラムは、チェックする矩形領域の最小X、Y座標値(x1,y1)と、最大X、Y座標値(x2,x2)と、check_type(0 or 1)を引き数とし、最左端の二次元配列から最右端の二次元配列に向かって順に、かつ、最小Y座標値の二次元配列から最大Y座標値の二次元配列に向かって順に「0」又は「1」をセットするというものである。
【0120】
即ち、まず、i=x1、j=y1 とし(ステップS2−1)、続いて、i<=x2 であるか否かを判断し(ステップS2−2)、i<=x2 である場合には、i<=y2 であるか否かを判断する(ステップS2−3)。
【0121】
判断の結果、i<=y2 である場合には、二次元配列 [i][j] にチェックタイプ(「0」又は「1」)をセットする(ステップS2−4)。即ち、ステップS1−4、S1−9、S5−2の場合には二次元配列 [i][j] に「0」をセットし、ステップS1−5の場合には二次元配列 [i][j] に「1」をセットする。
【0122】
次に、j=j+1 とし(ステップS2−5)、j<=y2 でなくなるまで(ステップS2−3でNOとなるまで)、即ち、対象としているY軸方向に並ぶ二次元配列の最上端の二次元配列について処理が終了するまで、ステップS2−4、S2−5を繰り返し、ステップS2−3でNOと判断された場合には、i=i+1 とし(ステップS2−6)、即ち、隣のY軸方向に並ぶ二次元配列に移行し、ステップS2−2〜S2−6の動作を繰り返す。
【0123】
そして、i<=x2 でなくなるまで(ステップS2−2でNOとなるまで)、即ち、最右端の二次元配列について処理が終了するまで、ステップS2−2のYES以下の処理を繰り返す、そして、i<=x2 でなくなった場合、即ち、二次元配列の全てについて処理が終了した場合には、二次元配列のチェック処理を終了する。
【0124】
図20〜図23は矩形領域認識処理プログラムを示すフローチャートであり、矩形認識処理を行う場合には、検索する範囲の最小X、Y座標値(x1,y1)と最大X、Y座標値(x2,y2)を引き数とする。
【0125】
まず、i=x1、j=y1 とし(ステップS3−1)、i<=x2 であるか否かを判断し(ステップS3−2)、i<=x2 でなくなるまで、即ち、i が最大X座標値(x2)を越えるまで、ステップS3−2のYES以下の処理を繰り返し、i が最大X座標値(x2)を越えたときは、矩形領域認識処理を終了する。
【0126】
ステップS3−2で i<=x2 であると判断した場合には、j<=y2 であるか否かを判断し(ステップS3−3)、j<=y2 でなくなるまで、即ち、j が最大Y座標値を越えるまで、ステップS3−3のYES以下の処理を繰り返し、j が最大Y座標値(y2)を越えたときは、i=i+1 とし(ステップS3−4)、隣りのY軸方向に並ぶ二次元配列に移行し、ステップS3−2を行う。
【0127】
ステップS3−3で j<=y2 であると判断した場合には、二次元配列 BLACK_BOX[i][j]==1 であるか否かを判断し(ステップS3−5)、即ち、二次元配列 BLACK_BOX[i][j]が矩形領域の一部であるか否かを行い、二次元配列 BLACK_BOX[i][j]==1 でないと判断した場合、即ち、二次元配列 BLACK_BOX[i][j] が矩形領域の一部ではないと判断した場合には、j=j+1 とし(ステップS3−6)、即ち、1つ上の二次元配列に移行し、ステップS3−3の処理を行う。
【0128】
これに対して、ステップS3−5で二次元配列 BLACK_BOX[i][j]==1 であると判断した場合、即ち、二次元配列BLACK_BOX[i][j] が矩形領域の一部であると判断した場合には、抽出すべき矩形領域の最小X座標値(w_x1)及び最大X座標値(w_x2)にiを入れ、抽出すべき矩形領域の最小Y座標値(w_y1)及び最大Y座標値(w_y2)にjを入れる(ステップS3−7)。これで、抽出すべき矩形領域の左辺の下端を確認したことになる。
【0129】
次に、抽出すべき矩形領域のY座標値の範囲を求め、抽出すべき矩形領域の左辺を確認する処理を行う必要があるが、これは、二次元配列 BLACK_BOX[i][j]が二次元配列 BLACK_BOX[i][w_y2+1]==1 で、かつ、w_y2<y2 であるか否かを判断し(ステップS3−8)、二次元配列 BLACK_BOX[i][w_y2+1])==1 で、かつ、w_y2<y2 である場合(ステップS3−8でYESの場合)には、最大Y座標値(w_y2)に1を加え(ステップS3−9)、二次元配列 BLACK_BOX[i][w_y2+1]==1 で、かつ、w_y2<y2 ではなくなるまで、即ち、二次元配列 BLACK_BOX[i][w_y2+1]=0 となり、二次元配列 BLACK_BOX[i][j]がY軸方向上、非矩形領域に出るまで、ステップS3−9を繰り返すことにより行う。
【0130】
そして、ステップS3−8において、二次元配列 BLACK_BOX[i][j]が二次元配列 BLACK_BOX[i][w_y2+1]==1 で、かつ、w_y2<y2 でなくなったと判断した場合には、抽出すべき矩形領域の仮最小Y座標値 (w_y1-1) を chk_ym に代入し、抽出すべき矩形の仮最大Y座標値(w _y2+1)をchk_ypに代入する(ステップS3−10)。
【0131】
次に、k=i+1 とし(ステップS3−11)、即ち、隣りのY軸方向に並ぶ二次元配列に移行し、k<=x2 であるか否かを判断し(ステップS3−12)、k<=x2ではないと判断した場合、即ち、BOX[i=0]の最大X座標値を越えたときは、分割の対象としている直角多角形領域は矩形をしているので、矩形領域抽出処理を行い(ステップS3−13)、他に分割対象とすべき直角多角形領域が存在するか否かを判断するため、ステップS3−3に戻る。
【0132】
これに対して、ステップS3−12で、k<=x2であると判断した場合には、抽出すべき矩形領域の最大X座標値(w_x2)にk(x座標値)をセットし(ステップS3−14)、横T字チェック処理を行う(ステップS3−15)。
【0133】
図24及び図25は横T字チェック処理プログラムを示すフローチャートであり、横T字チェック処理を行う場合には、まず、flag(仮最小Y座標値に変化があった否かを示すフラグ)=0 とし、flag を初期化する(ステップS4−1)。
【0134】
次に、チェックしているX座標で、仮最小Y座標値(chk_ym)における二次元配列 BLACK_BOX[w_x2][chk_ym] の値(=0)又は二次元配列 BLACK_BOX[w_x2][chk_ym+1] の値(=1)に変化がないかを判断する(ステップS4−2)。
【0135】
そして、変化がない場合には、仮最大Y座標値(chk_yp)における二次元配列 BLACK_BOX[w_x2][chk_yp] の値(=0)又は二次元配列 BLACK_BOX[w_x2][chk_yp-1] の値(=1)に変化がないかを判断し(ステップS4−3)、変化がない場合には、check=0 とし(ステップS4−4)、横T字形の存在を確認しないかったことを示し、横T字チェック処理を終了する。
【0136】
これに対して、ステップS4−2において、仮最小Y座標値(chk _ym) における二次元配列 BLACK_BOX[w_x2][chk_ym] の値(=0)又はBLACK_BOX[w_x2][chk_ym+1] の値(=1)に変化があったと判断した場合には、m=w_y1 とし(ステップS4−5)、二次元配列 BLACK_BOX[w_x2][m]==1 であるか否かを判断する。(ステップS4−6)。
【0137】
そして、二次元配列 BLACK_BOX[w_x2][m]==1 である場合には、二次元配列 BLACK_BOX[w_x2][m]==1 でなくなるまで、m=m-1 を繰り返し(ステップS4−7)、二次元配列 BLACK_BOX[w_x2][m]==0 となったときは、chk_ym=m とし(ステップS4−8)、新しい仮最小Y座標値(chk_ym)を設定し、flag=1 とし(ステップS4−9)、仮最小Y座標値に変化があったことを示す。
【0138】
また、ステップS4−3において、仮最大Y座標値(chk_yp)における二次元配列 BLACK_BOX[w_x2][chk_yp] の値(=0)又は二次元配列 BLACK_BOX[w_x2][chk_yp-1] の値(=1)に変化があったと判断した場合には、m=w_y2 とし(ステップS4−10)、二次元配列 BLACK_BOX[w_x2][m]==1 であるか否かを判断する(ステップS4−11)。
【0139】
そして、二次元配列 BLACK_BOX[w_x2][m]==1 である場合には、二次元配列 BLACK_BOX[w_x2][m]==1 でなくなるまで、m=m+1 を繰り返し(ステップS4−12)、二次元配列 BLACK_BOX[w_x2][m]==0 となったときは、chk_yp=m とし(ステップS4−13)、新しい仮最大Y座標値(chk_yp)を設定する。
【0140】
そして、flag==1 であるか否かを判断し(ステップS4−14)、flag==1 でない場合には、check=0 とし(ステップS4−4)、横T字チェック処理を終了し、flag==1である場合には、仮最小Y座標値(chk_ym)及び仮最大Y座標値(chk_yp)に変化があり、横T字形を確認したことを示すため、check=1 とし(ステップS4−15)、横T字チェック処理を終了する。
【0141】
このようにして、横T字チェック処理(ステップS3−15)を終了した場合には、check==0 であるか否かを判断し(ステップS3−16)、check==0 でない場合、即ち、横T字チェック処理の結果、横T字を認識した場合には、w_x2=k-1 とし(ステップS3−17)、矩形領域の右辺のX座標値を確認し、矩形領域抽出処理を行う(ステップS3−18)。
【0142】
これに対して、ステップS3−16において、check==0 であった場合には、l=w_y1とし(ステップS3−19)、l<=w_y2 であるか否かを判断し(ステップS3−20)、l<=w_y2 ではない場合には、k=k+1 とし(ステップS3−21)、ステップS3−12に戻る。即ち、隣りのY軸方向に並ぶ二次元配列に移行する。
【0143】
これに対して、ステップS3−20において、l<=w_y2 であると判断した場合には、二次元配列 BLACK_BOX[k][l]==1 であるか否かを判断し(ステップS3−22)、二次元配列 BLACK_BOX[k][l]==1 の場合には、l=l+1 とし(ステップS3−23)、ステップS3−20に戻る。
【0144】
これに対して、ステップS3−22において、二次元配列 BLACK_BOX[k][l]==1 ではないと判断した場合、即ち、二次元配列 BLACK_BOX[k][l]が直角多角形領域の範囲外のものであると判断した場合には、w_x2=k-1 とし(ステップS3−24)、抽出すべき矩形領域の右辺のX座標値を確認し、矩形領域抽出処理を行う(ステップS3−25)を行う。これにより、N字形、T字形、逆T字形の分割処理を行うことができる。
【0145】
図26は矩形領域抽出処理プログラムを示すフローチャートであり、矩形領域抽出処理は、まず、抽出した矩形領域[(w_x1,w_y1),(w_x2,w_y2)]をPDEFに出力し(ステップS5−1)、次に、抽出した矩形領域[(w_x1,w_y1),(w_x2,w_y2)]の二次元配列に「0」をセットし、抽出した矩形領域[(w_x1,w_y1),(w_x2,w_y2)]の二次元配列をクリアし(ステップS5−2)、矩形領域抽出処理を終了する。
【0146】
ここに、図27の直角多角形領域78を分割対象としている場合には、先ず、図35に示す矩形領域[(w_x1=2,w_y1=2),(w_x2=12,w_y2=3)]93がステップS3−1〜S3−12、S3−14〜S3−16、S3−19〜S3−23を経て認識され、ステップS3−13による矩形領域抽出処理が行われ、二次元配列の状態は、図36に示すようになる。
【0147】
次に、図36に示す矩形領域[(w_x1=2,w_y1=9),(w_x2=12,w_y2=10)]94がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−23を経て認識され、ステップS3−13による矩形領域抽出処理が行われ、二次元配列の状態は、図37に示すようになる。
【0148】
次に、図37に示す矩形領域[(w_x1=4,w_y1=7),(w_x2=6,w_y2=8)]95がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−24を経て認識され、ステップS3−25による矩形領域抽出処理が行われ、二次元配列の状態は、図38に示すようになる。
【0149】
次に、図38に示す矩形領域[(w_x1=5,w_y1=4),(w_x2=6,w_y2=4)]96がステップS3−2〜S3−8、S3−10〜S3−12、S3−14〜S3−16、S3−19〜S3−24を経て認識され、ステップS3−25による矩形領域抽出処理が行われ、二次元配列の状態は、図39に示すようになる。
【0150】
次に、図39に示す矩形領域[(w_x1=8,w_y1=6),(w_x2=10,w_y2=7)]97がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−23、S3−17を経て認識され、ステップS3−18による矩形領域抽出処理が行われ、二次元配列の状態は、図40に示すようになる。
【0151】
次に、図40に示す矩形領域[(w_x1=11,w_y1=4),(w_x2=12,w_y2=8)]98がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−23を経て認識され、ステップS3−13による矩形領域抽出処理が行われ、二次元配列の状態は、図41に示すようになる。
【0152】
このように、図27に示す直角多角形領域78を分割する場合に、本発明の直角多角形領域分割方法の一実施例を使用すると、図42に示すように、最少数の6個の矩形領域93〜98に分割することができる。
【0153】
これに対して、図43の直角多角形領域79を分割対象としている場合には、先ず、図51に示す矩形領域[(w_x1=2,w_y1=5),(w_x2=9,w_y2=6)]100がステップS3−1〜S3−12、S3−14〜S3−16、S3−19〜S3−23、S3−17を経て認識され、ステップS3−18による矩形領域抽出処理が行われ、二次元配列の状態は、図52に示すようになる。
【0154】
次に、図52に示す矩形領域[(w_x1=5,w_y1=7),(w_x2=9,w_y2=7)]101がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−23、S3−17を経て認識され、ステップS3−18による矩形領域抽出処理が行われ、二次元配列の状態は、図53に示すようになる。
【0155】
次に、図53に示す矩形領域[(w_x1=7,w_y1=4),(w_x2=9,w_y2=4)]102がステップS3−2〜S3−12、S3−14〜S3−16、S3−19〜S3−23、S3−17を経て認識され、ステップS3−18による矩形領域抽出処理が行われ、二次元配列の状態は、図54に示すようになる。
【0156】
次に、図54に示す矩形領域[(w_x1=10,w_y1=2),(w_x2=11,w_y2=9)]103がステップS3−2〜S3−12、S3−14〜SS3−16、S3−19〜S3−23を経て認識され、ステップS3−13による矩形領域抽出処理が行われ、二次元配列の状態は、図55に示すようになる。
【0157】
このように、図43に示す直角多角形領域79を分割する場合に、本発明の直角多角形領域分割方法の一実施例を使用すると、図56に示すように、最少数である4個の矩形領域100〜103に分割することができる。
【0158】
以上のように、本発明の直角多角形領域分割方法の一実施例によれば、横T字形は縦方向に分割し、T字形及び逆T字形は横方向に分割することができ、更に、図示は省略したが、N字形は縦方向に分割することができるので、直角多角形領域を最少数の矩形領域に分割することができる。したがって、PDEFデータ量を最少とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができる。
【0159】
また、本発明の直角多角形領域分割方法の一実施例においては、直角多角形領域を構成する最左端の二次元配列から最大X座標値側に向かって二次元配列の値をチェックしながら、T字形などを検出するようにした場合について説明したが、この代わりに、直角多角形領域を構成する最右端の二次元配列から最小X座標値側に向かって二次元配列の値をチェックしながら、T字形などを検出するようにしても良い。
【0160】
図57は本発明の直角多角形領域分割装置の一実施例の要部を示すブロック回路図であり、図57中、105は入力手段、106は表示装置、107はCPU(central processing unit)、108はRAM(radom access memory)である。
【0161】
また、109は直角多角形領域分割プログラム、即ち、図17及び図18に示すメイン処理プログラムと、図19に示す二次元配列のチェック処理プログラムと、図20〜図23に示す矩形領域認識処理プログラムと、図24及び図25に示す横T字チェック処理プログラムと、図26に示す矩形領域抽出処理プログラムとを含んでいるプログラムを格納する直角多角形領域分割プログラム格納部である。
【0162】
また、110は分割の対象である直角多角形領域を有する集積回路のフロアプランデータを格納するフロアプランデータ格納部、111はPDEFデータを格納するPDEFデータ格納部である。
【0163】
このように構成された本発明の直角多角形領域分割装置の一実施例においては、CPU107は、フロアプランデータ格納部110に格納されているフロアプランデータに含まれる直角多角形領域を、直角多角形領域分割プログラム格納部109に格納されている直角多角形領域分割プログラムに従って矩形領域に分割し、抽出した矩形領域のデータをPDEFデータ格納部111に格納するように動作する。
【0164】
したがって、本発明の直角多角形領域分割装置の一実施例によれば、本発明の直角多角形領域分割方法の一実施例を実行して、PDEFデータ量を最少とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができる。
【0165】
【発明の効果】
以上のように、本発明中、第1、第2、第4、第5、第7、第8、第10、第11、第13、第14、第16又は第17の発明によれば、直角多角形領域を従来例の場合よりも少ない数又は最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最小とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができる。
【0166】
また、本発明中、第3、第6、第9、第12、第15又は第18の発明によれば、直角多角形領域を最少数の矩形領域に分割することができ、これを、たとえば、フロアプランデータをPDEFに出力する際に使用する場合には、PDEFデータ量を従来例の場合よりも少なく又は最小とし、PDEFデータを入力する他のプログラムの処理スピードを速くし、集積回路の設計期間の短縮化を図ることができる。
【図面の簡単な説明】
【図1】本発明中、第1の発明を説明するための図である。
【図2】本発明中、第2の発明を説明するための図である。
【図3】本発明中、第4の発明を説明するための図である。
【図4】本発明中、第5の発明を説明するための図である。
【図5】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図6】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図7】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図8】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図9】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図10】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図11】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図12】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図13】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図14】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図15】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図16】本発明の直角多角形領域分割方法の一実施形態を説明するための図である。
【図17】本発明の直角多角形領域分割方法の一実施例におけるメイン処理プログラムを示すフローチャートである。
【図18】本発明の直角多角形領域分割方法の一実施例におけるメイン処理プログラムを示すフローチャートである。
【図19】本発明の直角多角形領域分割方法の一実施例における二次元配列のチェック処理プログラムを示すフローチャートである。
【図20】本発明の直角多角形領域分割方法の一実施例における矩形領域認識処理プログラムを示すフローチャートである。
【図21】本発明の直角多角形領域分割方法の一実施例における矩形領域認識処理プログラムを示すフローチャートである。
【図22】本発明の直角多角形領域分割方法の一実施例における矩形領域認識処理プログラムを示すフローチャートである。
【図23】本発明の直角多角形領域分割方法の一実施例における矩形領域認識処理プログラムを示すフローチャートである。
【図24】本発明の直角多角形領域分割方法の一実施例における横T字チェック処理プログラムを示すフローチャートである。
【図25】本発明の直角多角形領域分割方法の一実施例における横T字チェック処理プログラムを示すフローチャートである。
【図26】本発明の直角多角形領域分割方法の一実施例における矩形領域抽出処理プログラムを示すフローチャートである。
【図27】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図28】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図29】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図30】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図31】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図32】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図33】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図34】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図35】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図36】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図37】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図38】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図39】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図40】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図41】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図42】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図43】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図44】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図45】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図46】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図47】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図48】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図49】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図50】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図51】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図52】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図53】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図54】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図55】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図56】本発明の直角多角形領域分割方法の一実施例を説明するための図である。
【図57】本発明の直角多角形領域分割装置の一実施例の要部を示すブロック回路図である。
【図58】従来の直角多角形領域分割方法を説明するための図である。
【図59】従来の直角多角形領域分割方法が有する問題点を説明するための図である。
【図60】横T字形、T字形及び逆T字形の直角多角形領域の好適な分割方法を説明するための図である。
【図61】N字形の直角多角形領域の好適な分割方法を説明するための図である。
【符号の説明】
(図57)
105 入力手段
106 表示装置
107 CPU
108 RAM
109 直角多角形領域分割プログラム格納部
110 フロアプランデータ格納部
111 PDEFデータ格納部
[0001]
BACKGROUND OF THE INVENTION
The present invention is used when outputting floor plan data of an integrated circuit created by a floor planner to a PDEF (Physical Design Exchange Format) that is an interface between the floor planner and a logic synthesis tool, a timing analysis tool, or the like. The present invention relates to a right-angle polygon area dividing method, a recording medium recording a right-angle polygon area dividing program, and a right-angle polygon area dividing apparatus.
[0002]
When outputting the floor plan data of the integrated circuit created by the floor planner to the PDEF, it is necessary to divide the right-angled polygonal region (polygonal region having inner angles of 90 ° and 270 °) into a plurality of rectangular regions. In this case, in order to reduce the amount of PDEF data, increase the processing speed of other programs that input the PDEF data, and shorten the design period of the integrated circuit, the rectangular polygon region should be formed as few rectangles as possible. It is desirable to divide into regions.
[0003]
[Prior art]
Conventionally, as a right-angle polygon area dividing method for dividing a right-angle polygon area generated on the layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas, a method of dividing it vertically or uniformly dividing it horizontally Was used.
[0004]
For example, when the right-angled polygonal region 1 shown in FIG. 58A is divided into a plurality of rectangular regions, the method of dividing the right-angled polygonal region 1 uniformly in the vertical direction is as shown in FIG. In the method of dividing into 8 rectangular areas 2-1 to 2-8 and uniformly dividing in the horizontal direction, as shown in FIG. 58 (C), the right-angled polygonal area 1 is divided into 7 rectangular areas 3 It is divided into -1 to 3-7.
[0005]
In this example, the number of rectangular areas to be extracted can be reduced in the case of uniformly dividing in the horizontal direction than in the case of uniformly dividing in the vertical direction, but it has occurred on the layout surface of the integrated circuit due to the floor plan. In the case of dividing a right-angled polygonal region into a plurality of rectangular regions, a method of uniformly dividing in the vertical direction or a method of uniformly dividing in the horizontal direction has been selectively used depending on the experience of the designer.
[0006]
[Problems to be solved by the invention]
However, if the right-angled polygonal area 1 shown in FIG. 58A is divided into the minimum number of rectangular areas, it can be divided into six rectangular areas 4-1 to 4-6 as shown in FIG. it can.
[0007]
In this dividing method, a horizontal T-shaped right-angle polygonal area as shown in FIG. 60A should not be divided in the horizontal direction as shown in FIG. 60B, but is shown in FIG. Thus, when dividing in the vertical direction, it can be divided into a minimum number of rectangular areas, and a T-shaped right-angled polygonal area as shown in FIG. 60D and an inverted T-shaped right-angled area as shown in FIG. The rectangular region should not be divided in the vertical direction as shown in FIGS. 60 (E) and (H), but the smallest number when divided in the horizontal direction as shown in FIGS. 60 (F) and (I). This is based on the fact that it can be divided into rectangular areas.
[0008]
Note that an N-shaped right-angled polygonal region as shown in FIG. 61 (A) should not be divided in the horizontal direction as shown in FIG. 61 (B), but in the vertical direction as shown in FIG. 61 (C). Can be divided into a minimum number of rectangular areas.
[0009]
In view of this point, the present invention makes it possible to divide a right-angled polygonal area generated on the layout surface of an integrated circuit by a floor plan into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when using when outputting floor plan data to PDEF, the amount of PDEF data is made smaller or smaller than in the case of the conventional example, and the processing speed of other programs for inputting PDEF data is increased and integrated. An object of the present invention is to provide a right-angle polygon area dividing method, a recording medium on which a right-angle polygon area dividing program is recorded, and a right-angle polygon area dividing apparatus capable of shortening a circuit design period.
[0010]
[Means for Solving the Problems]
In the present invention, the first invention is Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method of dividing a rectangular polygon into a plurality of rectangular areas, wherein the leftmost vertical side of the rectangular polygon area is recognized as the left side of the rectangular area to be extracted and coincides with the left side of the rectangular area to be extracted. Scanning the line segment in the right direction unless a part or the whole of the line segment protrudes outside the right-angled polygonal region while observing the vertical direction including the line segment and the vertical direction including the line segment. When a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment, a rectangular area to be extracted is extracted assuming that the right side of the rectangular area to be extracted is at the position of the line segment at that time. Process.
[0011]
According to the first invention, for example, when the horizontal T-shaped right-angled polygonal region 6 as shown in FIG. 1 (A) is divided into a plurality of rectangular regions, the minimum number is obtained as shown in FIG. 1 (B). Can be divided into two rectangular areas 7-1 and 7-2, and not divided into three rectangular areas 8-1 to 8-3 as shown in FIG. Can do.
[0012]
Further, for example, when dividing a horizontal T-shaped right-angle polygonal region 9 having a step as shown in FIG. 1D into a plurality of rectangular regions, a minimum number of three as shown in FIG. The rectangular regions 10-1 to 10-3 can be divided into four rectangular regions 11-1 to 11-4 as shown in FIG.
[0013]
Therefore, according to the first invention, the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan can be divided into a smaller number or a minimum number of rectangular areas than in the conventional example, For example, when the floor plan data is used for outputting to the PDEF, the PDEF data amount can be reduced or minimized as compared with the conventional example.
[0014]
In the present invention, the second invention is: Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method of dividing a rectangular polygon into a plurality of rectangular areas, wherein the leftmost vertical side of the rectangular polygon area is recognized as the left side of the rectangular area to be extracted and coincides with the left side of the rectangular area to be extracted. Scanning the line segment to the right unless observing a vertical side that forms a horizontal T shape in the vertical direction of the line segment while observing the vertical direction including the line segment and observing the vertical direction including the line segment, When a part or the whole of the line segment protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right side of the rectangular area to be extracted at the position of the line segment before the protrusion. And a step of extracting a region.
[0015]
According to the second invention, for example, when the N-shaped right-angle polygonal region 12 as shown in FIG. 2A is divided into a plurality of rectangular regions, as shown in FIG. It can be divided into two rectangular areas 13-1 and 13-2, and can be prevented from being divided into three rectangular areas 14-1 to 14-3 as shown in FIG. .
[0016]
Further, for example, when the inverted T-shaped right-angled polygonal region 15 as shown in FIG. 2D is divided into a plurality of rectangular regions, the minimum number of two rectangular regions as shown in FIG. It can be divided into 16-1 and 16-2, and as shown in FIG. 2F, it can be divided into three rectangular areas 17-1 to 17-3. The same applies to the case where the T-shaped right-angled polygonal region is divided.
[0017]
Therefore, according to the second invention, the right-angle polygonal region generated on the layout surface of the integrated circuit by the floor plan can be divided into a smaller number or the minimum number of rectangular regions than in the conventional example, For example, when the floor plan data is used for outputting to the PDEF, the PDEF data amount can be reduced or minimized as compared with the conventional example.
[0018]
In the present invention, the third invention is: Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method of dividing a rectangular polygon into a plurality of rectangular areas, wherein the leftmost vertical side of the rectangular polygon area is recognized as the left side of the rectangular area to be extracted and coincides with the left side of the rectangular area to be extracted. Scanning the line segment in the right direction unless a part or the whole of the line segment protrudes outside the right-angled polygonal region while observing the vertical direction including the line segment and the vertical direction including the line segment. When a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment, a rectangular area to be extracted is extracted assuming that the right side of the rectangular area to be extracted is at the position of the line segment at that time. While observing the vertical direction including the line segment and the line segment, the line segment is scanned rightward unless a vertical side that forms a horizontal T-shape is detected in the vertical direction of the line segment, If the part or the whole protrudes outside the right-angled polygonal area, Out it is that it includes a step of extracting the rectangular region to be extracted as having an right side of the rectangular region to be extracted to a position in front of the line segment.
[0019]
According to the third invention, since the steps included in the first invention and the steps included in the second invention are included, the right angle of the horizontal T-shape, N-shape, inverted T-shape and T-shape. The polygon area can be decomposed into a minimum number of rectangular areas. Therefore, the right-angle polygonal area generated on the layout surface of the integrated circuit by the floorplan can be divided into the minimum number of rectangular areas, and this is used, for example, when outputting the floorplan data to the PDEF. Therefore, the PDEF data amount can be minimized.
[0020]
In the present invention, the fourth invention is: Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method for dividing a rectangular polygonal region into a plurality of rectangular regions, wherein the rightmost vertical edge of the rectangular polygonal region is recognized as the right side of the rectangular region to be extracted and coincides with the right side of the rectangular region to be extracted. Scanning the line segment to the left while observing the line segment and the vertical direction including the line segment, unless part or all of the line segment protrudes outside the right-angled polygonal area When a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment, a rectangular area to be extracted is extracted assuming that there is a left side of the rectangular area to be extracted at the position of the line segment at that time. Process.
[0021]
According to the fourth invention, for example, when the horizontal T-shaped right-angled polygonal region 19 as shown in FIG. 3A is divided into a plurality of rectangular regions, as shown in FIG. Can be divided into two rectangular areas 20-1 and 20-2, and not divided into three rectangular areas 21-1 to 21-3 as shown in FIG. it can.
[0022]
Further, for example, when the horizontal T-shaped right-angled polygonal region 22 having a step as shown in FIG. 3D is divided into a plurality of rectangular regions, as shown in FIG. The rectangular regions 23-1 to 23-3 can be divided into four rectangular regions 24-1 to 24-4 as shown in FIG. 3F.
[0023]
Therefore, according to the fourth invention, the right-angle polygonal region generated on the layout surface of the integrated circuit by the floor plan can be divided into a smaller number or a minimum number of rectangular regions than in the conventional example, For example, when the floor plan data is used for outputting to the PDEF, the PDEF data amount can be reduced or minimized as compared with the conventional example.
[0024]
In the present invention, the fifth invention is: Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method for dividing a rectangular polygonal region into a plurality of rectangular regions, wherein the rightmost vertical edge of the rectangular polygonal region is recognized as the right side of the rectangular region to be extracted and coincides with the right side of the rectangular region to be extracted. Scanning the line segment to the left unless observing a vertical side that forms a horizontal T-shape in the vertical direction of the line segment while observing the vertical direction including the line segment and observing the vertical direction including the line segment, When a part or the whole of the line segment protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to be the left side of the rectangular area to be extracted at the position of the line segment before the protrusion. And a step of extracting a region.
[0025]
According to the fifth invention, for example, when the N-shaped right-angle polygonal region 25 as shown in FIG. 4A is divided into a plurality of rectangular regions, as shown in FIG. It can be divided into two rectangular areas 26-1 and 26-2, and can be prevented from being divided into three rectangular areas 27-1 to 27-3 as shown in FIG. .
[0026]
Further, for example, when the inverted T-shaped right-angled polygonal region 28 as shown in FIG. 4D is divided into a plurality of rectangular regions, the minimum number of two rectangular regions as shown in FIG. It can be divided into 29-1 and 29-2, and as shown in FIG. 4F, it can be prevented from being divided into three rectangular regions 30-1 to 30-3. The same applies to the case where the T-shaped right-angled polygonal region is divided.
[0027]
Therefore, according to the fifth invention, the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan can be divided into a smaller number or a minimum number of rectangular areas than in the conventional example, For example, when the floor plan data is used for outputting to the PDEF, the PDEF data amount can be reduced or minimized as compared with the conventional example.
[0028]
In the present invention, the sixth invention is: Included in the floor plan data stored in the floor plan data storage, The right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan In accordance with the right-angle polygon area division program stored in the right-angle polygon area division program storage unit A method for dividing a rectangular polygonal region into a plurality of rectangular regions, wherein the rightmost vertical edge of the rectangular polygonal region is recognized as the right side of the rectangular region to be extracted and coincides with the right side of the rectangular region to be extracted. Scanning the line segment to the left while observing the line segment and the vertical direction including the line segment, unless part or all of the line segment protrudes outside the right-angled polygonal area When a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment, a rectangular area to be extracted is extracted assuming that there is a left side of the rectangular area to be extracted at the position of the line segment at that time. Scanning the line segment in the left direction while observing the process and the vertical direction including the line segment, unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. If the part or the whole protrudes outside the right-angled polygonal area, Out it is that it includes a step of extracting the rectangular region to be extracted as having an left side of the rectangular region to be extracted to a position in front of the line segment.
[0029]
According to the sixth invention, since the steps included in the fourth invention and the steps included in the fifth invention are included, the right angle of the horizontal T-shape, N-shape, inverted T-shape and T-shape. The polygon area can be decomposed into a minimum number of rectangular areas. Therefore, the right-angle polygonal area generated on the layout surface of the integrated circuit due to the floorplan can be divided into a minimum amount of rectangular areas, and this is used when, for example, the floorplan data is output to the PDEF. Therefore, the PDEF data amount can be minimized.
[0030]
In the present invention, the seventh invention is a recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on the layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the leftmost vertical side of a right-angled polygonal area as the left side of the rectangular area to be extracted, imagining a line segment that matches the left side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, as long as a part or the whole of the line segment does not protrude outside the right-angled polygonal region, the line segment is scanned in the right direction, and a vertical side that forms a horizontal T-shape in the vertical direction of the line segment Is detected, the program includes a step of extracting a rectangular area to be extracted on the assumption that there is a right side of the rectangular area to be extracted at the position of the line segment at that time.
[0031]
According to the seventh invention, the first invention is executed, and the right-angle polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0032]
In the present invention, the eighth invention is a recording medium on which a right-angled polygonal area dividing program for dividing a right-angled polygonal area generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the leftmost vertical side of a right-angled polygonal area as the left side of the rectangular area to be extracted, imagining a line segment that matches the left side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, unless a vertical side that forms a horizontal T-shape is detected in the vertical direction of the line segment, the line segment is scanned in the right direction, and part or all of the line segment is eaten outside the right-angled polygonal region. In the case of protruding, it includes a program for executing a step of extracting a rectangular area to be extracted on the assumption that there is a right side of the rectangular area to be extracted at the position of the line segment before protruding. is there.
[0033]
According to the eighth invention, the second invention is executed, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0034]
In the present invention, the ninth invention is a recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the leftmost vertical side of a right-angled polygonal area as the left side of the rectangular area to be extracted, imagining a line segment that matches the left side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, as long as a part or the whole of the line segment does not protrude outside the right-angled polygonal region, the line segment is scanned in the right direction, and a vertical side that forms a horizontal T-shape in the vertical direction of the line segment Is detected, the step of extracting a rectangular region to be extracted assuming that there is a right side of the rectangular region to be extracted at the position of the line segment at that time, and while observing the vertical direction including the line segment, Horizontal up and down minutes Unless the vertical side constituting the character shape is detected, the line segment is scanned in the right direction, and when a part or the whole of the line segment protrudes outside the right-angled polygonal area, A program for executing a step of extracting a rectangular region to be extracted on the assumption that there is a right side of the rectangular region to be extracted at the position of the line segment.
[0035]
According to the ninth invention, the third invention is executed, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan can be divided into the minimum amount of rectangular areas. When the plan data is used for outputting to the PDEF, the PDEF data amount can be minimized.
[0036]
According to a tenth aspect of the present invention, there is provided a recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the rightmost vertical edge of a right-angled polygonal area as the right side of the rectangular area to be extracted, imagining a line segment matching the right side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, as long as a part or the whole of the line segment does not protrude outside the right-angled polygonal area, the line segment is scanned in the left direction, and a vertical side that forms a horizontal T-shape in the vertical direction of the line segment Is detected, the program includes a step of extracting a rectangular area to be extracted assuming that there is a left side of the rectangular area to be extracted at the position of the line segment at that time.
[0037]
According to the tenth invention, the fourth invention is executed, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0038]
In the present invention, an eleventh invention is a recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the rightmost vertical edge of a right-angled polygonal area as the right side of the rectangular area to be extracted, imagining a line segment matching the right side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, unless a vertical side that forms a horizontal T-shape is detected in the vertical direction of the line segment, the line segment is scanned in the left direction, and part or all of the line segment is eaten outside the right-angled polygonal region. In the case of protruding, it includes a program for executing a step of extracting a rectangular area to be extracted assuming that there is a left side of the rectangular area to be extracted at the position of the line segment before protruding. is there.
[0039]
According to the eleventh aspect of the invention, the fifth aspect of the invention is implemented, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0040]
In the present invention, the twelfth invention is a recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas by a computer, Recognizing the rightmost vertical edge of a right-angled polygonal area as the right side of the rectangular area to be extracted, imagining a line segment matching the right side of the rectangular area to be extracted, and observing the vertical direction including the line segment However, as long as a part or the whole of the line segment does not protrude outside the right-angled polygonal area, the line segment is scanned in the left direction, and a vertical side that forms a horizontal T-shape in the vertical direction of the line segment Is detected, the step of extracting a rectangular region to be extracted assuming that there is a left side of the rectangular region to be extracted at the position of the line segment at that time, and while observing the vertical direction including the line segment, Min up and down Unless the vertical side constituting the T-shape is detected, the line segment is scanned in the left direction, and if part or all of the line segment protrudes outside the right-angled polygonal area, And a step of extracting a rectangular region to be extracted on the assumption that there is a left side of the rectangular region to be extracted at the position of the line segment.
[0041]
According to the twelfth aspect of the present invention, the sixth aspect of the present invention is implemented, and the right-angled polygonal area generated on the layout surface of the integrated circuit can be divided into the minimum amount of rectangular areas by the floor plan. When the plan data is used for outputting to the PDEF, the PDEF data amount can be minimized.
[0042]
According to a thirteenth aspect of the present invention, there is provided a right-angled polygonal region dividing apparatus for dividing a right-angled polygonal region generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular regions, wherein the leftmost end of the right-angled polygonal region The vertical side is recognized as the left side of the rectangular region to be extracted, and a line segment matching the left side of the rectangular region to be extracted is assumed, and the vertical direction including the line segment is observed while observing the vertical direction. As long as a part or the whole does not protrude outside the right-angled polygonal region, the line segment is scanned rightward, and when a vertical side constituting a horizontal T-shape is detected in the vertical direction of the line segment, And a step of extracting a rectangular region to be extracted, assuming that the right side of the rectangular region to be extracted exists at the position of the line segment.
[0043]
According to the thirteenth aspect, the first aspect is implemented, and the right-angle polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0044]
According to a fourteenth aspect of the present invention, there is provided a right-angled polygonal region dividing apparatus for dividing a right-angled polygonal region generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular regions, wherein the leftmost end of the right-angled polygonal region The vertical side is recognized as the left side of the rectangular region to be extracted, and a line segment matching the left side of the rectangular region to be extracted is assumed, and the vertical direction including the line segment is observed while observing the vertical direction. Unless the vertical side constituting the horizontal T-shape is detected in the vertical direction, the line segment is scanned rightward, and when a part or the whole of the line segment protrudes outside the right-angled polygonal area, And a step of extracting a rectangular region to be extracted, assuming that the right side of the rectangular region to be extracted exists at the position of the line segment before protruding.
[0045]
According to the fourteenth aspect of the invention, the second aspect of the invention is implemented, and the right-angle polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0046]
In the present invention, a fifteenth aspect of the present invention is a right-angled polygonal area dividing device for dividing a right-angled polygonal area generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular areas, wherein the leftmost end of the right-angled polygonal area The vertical side is recognized as the left side of the rectangular region to be extracted, and a line segment matching the left side of the rectangular region to be extracted is assumed, and the vertical direction including the line segment is observed while observing the vertical direction. As long as a part or the whole does not protrude outside the right-angle polygonal area, the line segment is scanned in the right direction, and when a vertical side constituting a horizontal T-shape is detected in the vertical direction of the line segment, A step of extracting a rectangular region to be extracted assuming that there is a right side of the rectangular region to be extracted at the position of the line segment, and a horizontal T in the vertical direction of the line segment while observing the vertical direction including the line segment. Unless the vertical edges that make up the glyph are detected, When a line segment is scanned to the right and part or all of the line segment protrudes outside the right-angled polygonal area, the rectangular area to be extracted at the position of the line segment before protruding Means for executing a step of extracting a rectangular region to be extracted on the assumption that there is a right side.
[0047]
According to the fifteenth aspect of the present invention, the third aspect of the present invention can be implemented, and the right-angle polygonal area generated on the layout surface of the integrated circuit can be divided into a minimum amount of rectangular areas by the floor plan. When the plan data is used for outputting to the PDEF, the PDEF data amount can be minimized.
[0048]
According to a sixteenth aspect of the present invention, there is provided a right-angled polygonal area dividing apparatus for dividing a right-angled polygonal area generated on the layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas, wherein The vertical side of the line segment is recognized as the right side of the rectangular area to be extracted, and a line segment coinciding with the right side of the rectangular area to be extracted is observed. As long as a part or the whole does not protrude outside the right-angled polygonal region, the line segment is scanned leftward, and when a vertical side constituting a horizontal T-shape is detected in the vertical direction of the line segment, And a step of extracting a rectangular region to be extracted assuming that there is a left side of the rectangular region to be extracted at the position of the line segment.
[0049]
According to the sixteenth aspect of the invention, the fourth aspect of the invention is implemented, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0050]
According to a seventeenth aspect of the present invention, there is provided a right-angled polygon region dividing device for dividing a right-angled polygonal region generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular regions, wherein The vertical side of the line segment is recognized as the right side of the rectangular area to be extracted, and a line segment coinciding with the right side of the rectangular area to be extracted is observed. Unless the vertical side constituting the horizontal T-shape is detected in the vertical direction, the line segment is scanned leftward, and when a part or the whole of the line segment protrudes outside the right-angled polygonal area, And a step of extracting a rectangular region to be extracted assuming that the left side of the rectangular region to be extracted is present at the position of the line segment before protruding.
[0051]
According to the seventeenth aspect, the fifth aspect is implemented, and the right-angled polygonal area generated on the layout surface of the integrated circuit by the floor plan is divided into a smaller number or a minimum number of rectangular areas than in the conventional example. For example, when this is used when outputting the floor plan data to the PDEF, the amount of the PDEF data can be made smaller or smaller than in the case of the conventional example.
[0052]
In the present invention, an eighteenth aspect of the present invention is a right-angled polygonal area dividing device for dividing a right-angled polygonal area generated on the layout surface of the integrated circuit by a floor plan into a plurality of rectangular areas, wherein The vertical side of the line segment is recognized as the right side of the rectangular area to be extracted, and a line segment coinciding with the right side of the rectangular area to be extracted is observed. As long as a part or the whole does not protrude outside the right-angled polygonal region, the line segment is scanned leftward, and when a vertical side constituting a horizontal T-shape is detected in the vertical direction of the line segment, A step of extracting a rectangular region to be extracted assuming that there is a left side of the rectangular region to be extracted at the position of the line segment, and a horizontal T in the vertical direction of the line segment while observing the vertical direction including the line segment. Unless the vertical edges that make up the glyph are detected, When a line segment is scanned leftward and part or all of the line segment protrudes outside the right-angled polygonal area, the rectangular area to be extracted is extracted at the position of the line segment before the line segment. Means for executing a step of extracting a rectangular region to be extracted as having a left side.
[0053]
According to the eighteenth aspect, the sixth aspect is implemented, and the right-angle polygonal area generated on the layout surface of the integrated circuit by the floor plan can be divided into a minimum amount of rectangular areas. When the plan data is used for outputting to the PDEF, the PDEF data amount can be minimized.
[0054]
DETAILED DESCRIPTION OF THE INVENTION
5-16 is a figure for demonstrating one Embodiment of the rectangular polygon area | region dividing method of this invention. One embodiment of the rectangular polygon region dividing method of the present invention is based on the premise that the rectangular region generated in the rectangular region extracting step is treated as a right-angled polygon region. A1 → Process to be described later A2 → Output of position data of extracted rectangular area to PDEF → Deletion of extracted rectangular area, or process to be described later A1 → Process to be described later A3 → Output of the position data of the extracted rectangular area to the PDEF → Delete of the extracted rectangular area is repeatedly performed.
[0055]
Process A1 Is a step of recognizing the leftmost vertical side of the rectangular polygon area to be divided as the left side of the rectangular area to be extracted and hypothesizing the line segment XY that coincides with the left side of the rectangular area to be extracted.
[0056]
Process A2 While observing the vertical direction including the line segment XY, unless a part or the whole of the line segment XY protrudes outside the right-angled polygonal region, the line segment XY is right When a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment XY, the rectangular area to be extracted is assumed to be the right side of the rectangular area to be extracted at the position of the line segment XY at that time Is a step of extracting.
[0057]
Process A3 Unless the vertical side constituting the horizontal T-shape is detected in the vertical direction of the line segment XY while observing the vertical direction including the line segment XY, the line segment XY is right If the line segment XY scans in the direction and part or all of the line segment XY protrudes outside the right-angled polygonal area, the right side of the rectangular area to be extracted is at the position of the line segment XY before protruding Is a step of extracting a rectangular region to be extracted.
[0058]
For example, when dividing a right-angled polygonal region 32 as shown in FIG. 5A into a plurality of rectangular regions, first, as shown in FIG. 5B, out of the leftmost vertical sides 33 and 34 For example, the vertical side 33 is recognized as the left side of the rectangular region to be extracted, and a line segment XY that matches the vertical side 33 is hypothesized (step) A1 ).
[0059]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY bites outside the right-angle polygonal region 32 without detecting a vertical side that forms a horizontal T-shape in the vertical direction of the line segment XY during scanning. Without taking out, as shown in FIG.5 (C), the whole will protrude to the exterior of the right-angled polygonal area | region 32. FIG.
[0060]
Therefore, in this case, as shown in FIG. 5D, the left side 33 of the rectangular area to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal area 32. A rectangular region 35 to be extracted is extracted assuming that there is a right side 34 opposite to (step). A3 ).
[0061]
Then, the position data of the extracted rectangular area 35 is output to the PDEF, and the extracted rectangular area 35 is deleted from the right-angled polygonal area 32 as shown in FIG. In this way, the right-angled polygonal region 36 and the rectangular region 37 remain. The rectangular area 37 is treated as a right-angle polygon area.
[0062]
Therefore, next, as shown in FIG. 6B, the leftmost vertical side 38 of the right-angled polygonal region 36 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 38 is assumed to be virtual. (Process) A1 ).
[0063]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY bites out of the right-angled polygonal region 36 without detecting the vertical side forming the horizontal T shape in the vertical direction of the line segment XY during scanning. Without taking out, as shown in FIG.6 (C), the whole will protrude to the exterior of the right-angled polygonal area | region 36. FIG.
[0064]
Therefore, in this case, as shown in FIG. 6D, the left side 38 of the rectangular area to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal area 36. A rectangular area 40 to be extracted is extracted as having a right side 39 opposite to (step) A3 ).
[0065]
Then, the position data of the extracted rectangular area 40 is output to the PDEF, and the extracted rectangular area 40 is deleted from the right-angle polygon area 36 as shown in FIG. In this way, the right-angle polygon area 37, the rectangular area 41, and the right-angle polygon area 42 remain. Note that the rectangular area 41 is treated as a right-angled polygonal area.
[0066]
Therefore, next, as shown in FIG. 7B, the vertical side 43 of the right-angled polygonal region (rectangular region) 41 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 43 is determined. Virtual (process A1 ).
[0067]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY bites outside the right-angled polygonal region 41 without detecting a vertical side that forms a horizontal T shape in the vertical direction of the line segment XY during scanning. Without taking out, as shown in FIG.7 (C), the whole will protrude to the exterior of the right-angled polygonal area | region 41. FIG.
[0068]
Therefore, in this case, as shown in FIG. 7D, the left side 43 of the rectangular area to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal area 41. A rectangular region 41 to be extracted is extracted assuming that there is a right side 44 opposite to (process) A3 ).
[0069]
Then, the position data of the extracted rectangular area 41 is output to the PDEF, and the extracted rectangular area 41 is deleted as shown in FIG. If it does in this way, the right-angle polygon area | regions 37 and 42 will remain.
[0070]
Therefore, next, as shown in FIG. 8B, the vertical side 45 of the right-angled polygonal region (rectangular region) 37 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 45 is determined. Virtual (process A1 ).
[0071]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY bites outside the right-angled polygonal region 37 without detecting a vertical side forming a horizontal T shape in the vertical direction of the line segment XY during scanning. Without taking out, as shown in FIG. 8 (C), the whole will protrude outside the right-angled polygonal region 37.
[0072]
Therefore, in this case, as shown in FIG. 8D, the left side 45 of the rectangular area to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal area 37. A rectangular region 37 to be extracted is extracted assuming that there is a right side 46 opposite to (process) A3 ).
[0073]
Then, the position data of the extracted rectangular area 37 is output to the PDEF, and the extracted rectangular area 37 is deleted as shown in FIG. In this way, the right-angle polygonal region 42 remains.
[0074]
Therefore, next, as shown in FIG. 9B, the vertical side 47 of the right-angled polygonal region 42 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 47 is hypothesized (step) A1 ).
[0075]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, before the line segment XY partially or entirely protrudes outside the right-angled polygonal region 42, as shown in FIG. 9C, a horizontal T-shape is formed in the vertical direction of the line segment XY. The vertical sides 48 and 49 that are formed are detected.
[0076]
Therefore, in this case, as shown in FIG. 9D, the left side 47 of the rectangular region to be extracted at the position of the line segment XY when the vertical sides 48 and 49 that form the horizontal T-shape in the vertical direction are detected. A rectangular region 51 to be extracted on the assumption that there is a right side 50 opposite to (step) A2 ).
[0077]
Then, the position data of the extracted rectangular area 51 is output to the PDEF, and the extracted rectangular area 51 is deleted as shown in FIG. In this way, the rectangular area 52 remains. The rectangular area 52 is treated as a right-angle polygon area.
[0078]
Therefore, next, as shown in FIG. 10B, the vertical side 53 of the right-angled polygonal region (rectangular region) 52 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 53 is determined. Virtual (process A1 ).
[0079]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY bites outside the right-angled polygonal region 52 without detecting a vertical side that forms a horizontal T shape in the vertical direction of the line segment XY during scanning. Without taking out, as shown in FIG.10 (C), the whole will protrude to the exterior of the right-angled polygonal area | region 52. FIG.
[0080]
Therefore, in this case, as shown in FIG. 10D, the left side 53 of the rectangular region to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal region 52. A rectangular region 52 to be extracted is extracted assuming that there is a right side 54 opposite to (step). A3 ).
[0081]
Then, the position data of the extracted rectangular area 52 is output to the PDEF, and the extracted rectangular area 52 is deleted. In this way, the division of the right-angled polygonal region 32 ends.
[0082]
As described above, when the rectangular polygon region 32 shown in FIG. 5 (A) is divided, an embodiment of the rectangular polygon region dividing method according to the present invention is used. As shown in FIG. The rectangular regions 35, 37, 40, 41, 47 and 52 can be divided.
[0083]
For example, when the right-angled polygonal area 56 as shown in FIG. 12A is divided into a plurality of rectangular areas, first, the leftmost vertical edge 57 is extracted as shown in FIG. A line segment XY that is recognized as the left side of the rectangular area to be matched and coincides with the vertical side 57 (step) A1 ).
[0084]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, before the line segment XY partially or entirely protrudes outside the right-angle polygonal region 56, as shown in FIG. 12C, a horizontal T-shape is formed in the vertical direction of the line segment XY. The vertical sides 58 and 59 to be configured are detected.
[0085]
Accordingly, in this case, as shown in FIG. 12D, the left side 57 of the rectangular region to be extracted at the position of the line segment XY when the vertical sides 58 and 59 that form the horizontal T-shape in the vertical direction are detected. A rectangular area 61 to be extracted is extracted assuming that there is a right side 60 opposite to (process) A2 ).
[0086]
Then, the position data of the extracted rectangular area 61 is output to the PDEF, and the extracted rectangular area 61 is deleted as shown in FIG. In this way, the right-angled polygonal region 62 remains.
[0087]
Therefore, next, as shown in FIG. 13B, the leftmost vertical side 63 of the right-angled polygonal region 62 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that coincides with the vertical side 63 is assumed to be virtual. (Process) A1 ).
[0088]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, before the line segment XY partially or entirely protrudes outside the right-angled polygonal region 62, as shown in FIG. 13C, a horizontal T-shape is formed in the vertical direction of the line segment XY. The vertical sides 64 and 65 that are configured are detected.
[0089]
Therefore, in this case, as shown in FIG. 13D, the left side 63 of the rectangular region to be extracted at the position of the line segment XY when the vertical sides 64 and 65 that form the horizontal T-shape in the vertical direction are detected. A rectangular region 67 to be extracted is extracted assuming that there is a right side 66 opposite to (step). A2 ).
[0090]
Then, the position data of the extracted rectangular area 67 is output to the PDEF, and the extracted rectangular area 67 is deleted as shown in FIG. In this way, the right-angled polygonal region 68 remains.
[0091]
Therefore, next, as shown in FIG. 14B, the leftmost vertical side 69 of the right-angled polygonal region 68 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 69 is assumed to be virtual. (Process) A1 ).
[0092]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, the line segment XY forms a horizontal T shape in the vertical direction of the line segment XY in FIG. 14C without partially or entirely protruding outside the right-angled polygonal region 68.
The vertical sides 70 and 71 are detected.
[0093]
Therefore, in this case, as shown in FIG. 14D, the left side 69 of the rectangular region to be extracted at the position of the line segment XY when the vertical sides 70 and 71 that form the horizontal T-shape in the vertical direction are detected. A rectangular area 73 to be extracted is extracted assuming that there is a right side 72 opposite to (step). A2 ).
[0094]
Then, the position data of the extracted rectangular area 73 is output to the PDEF, and the extracted rectangular area 73 is deleted as shown in FIG. In this way, the rectangular area 74 remains. The rectangular area 74 is treated as a right-angle polygon area.
[0095]
Then, next, as shown in FIG. 15B, the vertical side 75 of the right-angled polygonal region (rectangular region) 74 is recognized as the left side of the rectangular region to be extracted, and the line segment XY that matches the vertical side 75 is determined. Virtual (process A1 ).
[0096]
The line segment XY is scanned rightward while observing the vertical direction including the line segment XY. In this way, a part of the line segment XY protrudes outside the right-angled polygonal region 74 without detecting a vertical side forming a horizontal T-shape in the vertical direction of the line segment during scanning. Instead, as shown in FIG. 15 (C), the entirety protrudes outside the right-angled polygonal region 74.
[0097]
Therefore, in this case, as shown in FIG. 15D, the left side 74 of the rectangular region to be extracted at the position of the line segment XY before the entire line segment XY protrudes outside the right-angled polygonal region 74. A rectangular area 74 to be extracted is extracted assuming that there is a right side 76 opposite to (step). A3 ).
[0098]
Then, the extracted rectangular area 74 is output as PDEF data, and the extracted rectangular area 74 is deleted. In this way, the division of the right-angled polygonal region 56 ends.
[0099]
As described above, when the rectangular polygon area 56 shown in FIG. 12A is divided, when the rectangular polygon area dividing method of the present invention is used, as shown in FIG. It can be divided into rectangular regions 61, 67, 73 and 74.
[0100]
As described above, according to an embodiment of the rectangular polygon region dividing method of the present invention, the horizontal T-shape can be divided in the vertical direction, the T-shape and the inverted T-shape can be divided in the horizontal direction, Although not shown, since the N-shape can be divided in the vertical direction, the right-angle polygon region can be divided into the minimum number of rectangular regions. Therefore, the amount of PDEF data can be minimized, the processing speed of other programs that input PDEF data can be increased, and the design period of the integrated circuit can be shortened.
[0101]
In one embodiment of the right-angled polygonal region dividing method of the present invention, the leftmost vertical side of the right-angled polygonal region is recognized, a line segment matching this vertical side is virtually assumed, and this line segment is moved to the right. However, instead of this, the rightmost vertical edge of the right-angled polygonal area is recognized, and a line segment that coincides with this vertical edge is assumed, and this line segment is scanned leftward. You may make it do.
[0102]
【Example】
FIGS. 17 to 26 are flowcharts showing an embodiment of the method for dividing a right-angled polygonal area according to the present invention, and FIGS. 27 to 56 are diagrams for explaining an embodiment of the method for dividing a right-angled polygonal area according to the present invention. In the embodiment of the right-angle polygon area dividing method of the present invention, the case of dividing the right-angle polygon area 78 shown in FIG. 27 and the right-angle polygon area 79 shown in FIG. 43 will be described as an example.
[0103]
27 is generated by superimposing the rectangular areas 81 to 86 shown in FIG. 29 on the rectangular area 80 shown in FIG. 28, and the right polygon area 79 shown in FIG. 44 is generated by superimposing the rectangular areas 88 to 91 shown in FIG. 45 on the rectangular area 87 shown in FIG.
[0104]
17 and 18 are flowcharts showing a main processing program in an embodiment of the right-angle polygon area dividing method of the present invention. In the embodiment of the right-angle polygon area dividing method of the present invention, first, initial processing is performed. The maximum value (MAX_X, MAX_Y) of the X coordinate and Y coordinate of the two-dimensional array and the number of boxes (MAX_BOX) arranged on the two-dimensional array are set (step S1-1).
[0105]
Here, when the right-angled polygonal area 78 shown in FIG. 27 is to be divided, as shown in FIG. 30, for example, MAX_X = 14, MAX_Y = 12, and the right-angled polygonal area 79 shown in FIG. 46, for example, MAX_X = 13 and MAX_Y = 11 are set as shown in FIG.
[0106]
Next, assuming that the i-th box (BOX [i]) is a box to be divided into rectangular areas, i = 0 is set (step S1-2). It is determined whether or not <MAX_BOX (step S1-3), i Until the value of <MAX_BOX disappears, repeat the processing of YES in step S1-3 to i When it is no longer <MAX_BOX, the main process ends.
[0107]
I in step S1-3 If it is determined that <MAX_BOX, all the two-dimensional arrays BLACK_BOX [x] [y] in the range from coordinates (0,0) to coordinates (MAX_X, MAX_Y) are set to “0” according to the two-dimensional array check processing program described later. Is set, and the two-dimensional array BLACK_BOX [x] [y] in the range from the coordinates (0,0) to the coordinates (MAX_X, MAX_Y) is cleared (step S1-4).
[0108]
That is, when the right-angled polygonal area 78 shown in FIG. 27 is a division target, as shown in FIG. 31, a two-dimensional array BLACK_BOX [x] ranging from coordinates (0,0) to coordinates (14,12) is used. When all [y] are set to “0” and the right-angled polygonal region 79 shown in FIG. 43 is to be divided, as shown in FIG. 47, coordinates (0,0) to coordinates (13,11) Set all two-dimensional arrays BLACK_BOX [x] [y] to “0”.
[0109]
Next, “1” is set in the two-dimensional array of BOX [i] (in this stage, BOX [0]) according to the two-dimensional array check processing program described later (step S1-5). That is, when the right-angled polygonal area 78 shown in FIG. 27 is to be divided, “1” is set in the two-dimensional array of BOX [0] (rectangular area 80 shown in FIG. 28) as shown in FIG. 43, when the rectangular polygonal area 79 shown in FIG. 43 is to be divided, “1” is set in the two-dimensional array of BOX [0] (rectangular area 87 shown in FIG. 44) as shown in FIG.
[0110]
Then i It is determined whether or not <MAX_BOX-1 (step S1-6), i Until the condition of <MAX_BOX-1 is eliminated, that is, until BOX [i] becomes the last rectangle, the processing following YES in step S1-6 is performed.
[0111]
That is, i in step S1-6 If it is determined that <MAX_BOX-1, j = i +, assuming that the j-th BOX [j] is a box overlaid on BOX [i] (currently BOX [0]). 1 (step S1-7).
[0112]
Then j It is determined whether or not <MAX_BOX (maximum number of rectangular areas) (step S1-8), j If <MAX_BOX, “0” is set in the two-dimensional array of BOX [j] (step S1-9), and then j = j + 1 (step S1-10), j Steps S1-9 and S1-10) are repeated until <MAX_BOX.
[0113]
That is, when the right-angled polygonal area 78 shown in FIG. 27 is to be divided, as shown in FIG. 33, “0” is added to the two-dimensional array of BOX [j = 1] (rectangular area 81 shown in FIG. 29). Next, as shown in FIG. 34, BOX [j = 2] (rectangular area 82), BOX [j = 3] (rectangular area 83), BOX [j = 4] (rectangular area 84), “0” is sequentially set in the two-dimensional array of BOX [j = 5] (rectangular area 85) and BOX [j = 6] (rectangular area 86).
[0114]
In addition, when the right-angled polygonal region 79 shown in FIG. 43 is to be divided, “0” is added to the two-dimensional array of BOX [j = 1] (rectangular region 88 shown in FIG. 45) as shown in FIG. Next, as shown in FIG. 50, BOX [j = 2] (rectangular area 89), BOX [j = 3] (rectangular area 90) and BOX [j = 4] (rectangular area 91) “0” is sequentially set in the two-dimensional array.
[0115]
In this way, when the right-angle polygon area 78 shown in FIG. 27 is to be divided, as shown in FIG. 35, first, the right-angle polygon area BOX [i = 0] to be divided (shown in FIG. 27). If the right-angle polygon area 78) remains and the right-angle polygon area 79 shown in FIG. 43 is to be divided, as shown in FIG. 51, the right-angle polygon area BOX [i = 0 ] (The right-angled polygonal region 79 shown in FIG. 43) remains.
[0116]
In this way, when the right-angled polygonal area to be divided remains (NO in step S1-8), the rectangular area recognition is performed according to the rectangular area recognition processing program and the rectangular area extraction processing program described later. Processing and rectangular area extraction processing are performed (step S1-11), and when this is completed, i = i + 1 is set (step S1-12), the process returns to step S1-3, and BOX [i = 0] is changed to BOX. Repeat the above process for [i = 1].
[0117]
If NO is determined in step S1-6, that is, if BOX [i] is the last rectangle, there is no overlapping rectangle, so the last rectangle is regarded as a right-angled polygon region. A rectangular area recognition process and a rectangular area extraction process are performed (step S1-11).
[0118]
FIG. 19 is a flowchart showing a program for checking a two-dimensional array (a process of putting “0” or “1” into the two-dimensional array of the target coordinate range), and shows step S1- shown in FIG. 4, S1-5, step S1-9 shown in FIG. 18, and step S5-2 shown in FIG.
[0119]
The two-dimensional array check processing program shown in FIG. 19 includes the minimum X and Y coordinate values (x1, y1), the maximum X and Y coordinate values (x2, x2), and check_type (0 or 1) of the rectangular area to be checked. As the arguments, in order from the leftmost two-dimensional array to the rightmost two-dimensional array, and from the two-dimensional array of the minimum Y coordinate value to the two-dimensional array of the maximum Y coordinate value, “1” is set.
[0120]
That is, first, i = x1, j = y1 (step S2-1), and then i It is determined whether or not <= x2 (step S2-2), i If <= x2, i It is determined whether or not <= y2 (step S2-3).
[0121]
As a result of judgment, i If <= y2, a check type (“0” or “1”) is set in the two-dimensional array [i] [j] (step S2-4). That is, in the case of steps S1-4, S1-9, S5-2, “0” is set in the two-dimensional array [i] [j], and in the case of step S1-5, the two-dimensional array [i] [j] j] is set to “1”.
[0122]
Next, j = j + 1 (step S2-5), j <= y2 (until NO in step S2-3), that is, until the processing for the uppermost two-dimensional array of the two-dimensional arrays arranged in the Y-axis direction is completed, step S2-4, S2-5 is repeated, and if NO is determined in step S2-3, i = i + 1 is set (step S2-6), that is, a transition is made to a two-dimensional array arranged in the adjacent Y-axis direction. The operations of S2-2 to S2-6 are repeated.
[0123]
And i <= x2 is repeated (until NO in step S2-2), that is, until the processing for the rightmost two-dimensional array is completed, the processing following YES in step S2-2 is repeated, and i If it is not <= x2, that is, if the processing is completed for all of the two-dimensional arrays, the check processing for the two-dimensional arrays is terminated.
[0124]
FIGS. 20 to 23 are flowcharts showing a rectangular area recognition processing program. When rectangular recognition processing is performed, the minimum X and Y coordinate values (x1, y1) and the maximum X and Y coordinate values (x2) of the search range are shown. , y2) as arguments.
[0125]
First, i = x1, j = y1 (step S3-1), i It is determined whether or not <= x2 (step S3-2), i Until <= x2, i.e., until i exceeds the maximum X coordinate value (x2), repeat the processing of YES in step S3-2 and when i exceeds the maximum X coordinate value (x2) The area recognition process ends.
[0126]
I in step S3-2 If it is determined that <= x2, j It is determined whether or not <= y2 (step S3-3), j <= y2 is repeated, i.e., until j exceeds the maximum Y coordinate value, the processing of YES in step S3-3 is repeated. When j exceeds the maximum Y coordinate value (y2), i = i + 1 is set. (Step S3-4), the process shifts to the two-dimensional array arranged in the adjacent Y-axis direction, and Step S3-2 is performed.
[0127]
J in step S3-3 When it is determined that <= y2, it is determined whether the two-dimensional array BLACK_BOX [i] [j] == 1 (step S3-5), that is, the two-dimensional array BLACK_BOX [i] [ If j] is a part of the rectangular area and it is determined that the two-dimensional array BLACK_BOX [i] [j] == 1 is not satisfied, that is, the two-dimensional array BLACK_BOX [i] [j] is a rectangular area If j = j + 1 (step S3-6), the process moves to the next two-dimensional array, and the process of step S3-3 is performed.
[0128]
On the other hand, when it is determined in step S3-5 that the two-dimensional array BLACK_BOX [i] [j] == 1, that is, the two-dimensional array BLACK_BOX [i] [j] is a part of the rectangular area. If it is determined, i is added to the minimum X coordinate value (w_x1) and maximum X coordinate value (w_x2) of the rectangular region to be extracted, and the minimum Y coordinate value (w_y1) and maximum Y coordinate of the rectangular region to be extracted J is added to the value (w_y2) (step S3-7). This confirms the lower end of the left side of the rectangular area to be extracted.
[0129]
Next, it is necessary to obtain the range of the Y coordinate value of the rectangular area to be extracted and check the left side of the rectangular area to be extracted. This is because the two-dimensional array BLACK_BOX [i] [j] Dimension array BLACK_BOX [i] [w_y2 + 1] == 1 and w_y2 <y2 is determined (step S3-8), the two-dimensional array BLACK_BOX [i] [w_y2 + 1]) == 1 and w_y2 If <y2 (YES in step S3-8), 1 is added to the maximum Y coordinate value (w_y2) (step S3-9), and the two-dimensional array BLACK_BOX [i] [w_y2 + 1] == 1 and w_y2 Step S3- until the two-dimensional array BLACK_BOX [i] [w_y2 + 1] = 0 and the two-dimensional array BLACK_BOX [i] [j] comes out of the non-rectangular area in the Y-axis direction until it is not <y2; Repeat step 9.
[0130]
In step S3-8, the two-dimensional array BLACK_BOX [i] [j] is the two-dimensional array BLACK_BOX [i] [w_y2 + 1] == 1 and w_y2 If it is determined that it is not <y2, substitute the temporary minimum Y coordinate value (w_y1-1) of the rectangular area to be extracted into chk_ym and the temporary maximum Y coordinate value (w _y2 + 1) of the rectangular area to be extracted. It substitutes for chk_yp (step S3-10).
[0131]
Next, k = i + 1 is set (step S3-11), that is, a transition is made to a two-dimensional array arranged in the adjacent Y-axis direction. It is determined whether or not <= x2 (step S3-12), k When it is determined that <= x2, that is, when the maximum X coordinate value of BOX [i = 0] is exceeded, the rectangular area to be divided is rectangular, so the rectangular area extraction process (Step S3-13), the process returns to step S3-3 to determine whether there is another right-angled polygonal area to be divided.
[0132]
On the other hand, in step S3-12, k If it is determined that <= x2, k (x coordinate value) is set to the maximum X coordinate value (w_x2) of the rectangular area to be extracted (step S3-14), and horizontal T-character check processing is performed (step S3-14). Step S3-15).
[0133]
24 and 25 are flowcharts showing the horizontal T-character check processing program. When performing horizontal T-character check processing, first, flag (flag indicating whether or not the temporary minimum Y coordinate value has changed) = 0 is set and flag is initialized (step S4-1).
[0134]
Next, with the X coordinate being checked, the value (= 0) of the two-dimensional array BLACK_BOX [w_x2] [chk_ym] or the two-dimensional array BLACK_BOX [w_x2] [chk_ym + 1] at the temporary minimum Y coordinate value (chk_ym) It is determined whether or not the value (= 1) has changed (step S4-2).
[0135]
If there is no change, the value of the two-dimensional array BLACK_BOX [w_x2] [chk_yp] (= 0) or the value of the two-dimensional array BLACK_BOX [w_x2] [chk_yp-1] (the temporary maximum Y coordinate value (chk_yp)) = 1) is determined whether there is no change (step S4-3). If there is no change, check = 0 is set (step S4-4), indicating that the existence of the horizontal T-shape was not confirmed, The horizontal T-character check process ends.
[0136]
On the other hand, in step S4-2, the value of the two-dimensional array BLACK_BOX [w_x2] [chk_ym] (= 0) or the value of BLACK_BOX [w_x2] [chk_ym + 1] in the temporary minimum Y coordinate value (chk_ym) ( = 1), it is determined that there is a change in m = w_y1 (step S4-5), and it is determined whether the two-dimensional array BLACK_BOX [w_x2] [m] == 1. (Step S4-6).
[0137]
If the two-dimensional array BLACK_BOX [w_x2] [m] == 1, m = m-1 is repeated until the two-dimensional array BLACK_BOX [w_x2] [m] == 1 is not reached (step S4-7). ), When the two-dimensional array BLACK_BOX [w_x2] [m] == 0, chk_ym = m is set (step S4-8), a new temporary minimum Y coordinate value (chk_ym) is set, and flag = 1 is set ( Step S4-9) indicates that the temporary minimum Y coordinate value has changed.
[0138]
In step S4-3, the value of the two-dimensional array BLACK_BOX [w_x2] [chk_yp] (= 0) or the value of the two-dimensional array BLACK_BOX [w_x2] [chk_yp-1] (= If it is determined that 1) has changed, m = w_y2 is set (step S4-10), and it is determined whether the two-dimensional array BLACK_BOX [w_x2] [m] == 1 (step S4-11). ).
[0139]
If the two-dimensional array BLACK_BOX [w_x2] [m] == 1, m = m + 1 is repeated until the two-dimensional array BLACK_BOX [w_x2] [m] == 1 is not satisfied (step S4-12). ) When the two-dimensional array BLACK_BOX [w_x2] [m] == 0, chk_yp = m is set (step S4-13), and a new temporary maximum Y coordinate value (chk_yp) is set.
[0140]
Then, it is determined whether or not flag == 1 (step S4-14). When flag == 1 is not satisfied, check = 0 is set (step S4-4), and the horizontal T-character check process is terminated. When flag == 1, there is a change in the temporary minimum Y coordinate value (chk_ym) and the temporary maximum Y coordinate value (chk_yp), and check = 1 is set to indicate that the horizontal T-shape has been confirmed (step S4). -15) The horizontal T-character check process is terminated.
[0141]
In this way, when the horizontal T-character check process (step S3-15) is completed, it is determined whether or not check == 0 (step S3-16). When the horizontal T-character is recognized as a result of the horizontal T-character check process, w_x2 = k-1 is set (step S3-17), the X coordinate value of the right side of the rectangular area is confirmed, and the rectangular area extraction process is performed. (Step S3-18).
[0142]
On the other hand, if check == 0 in step S3-16, l = w_y1 is set (step S3-19), l It is determined whether or not <= w_y2 (step S3-20), l If it is not <= w_y2, k = k + 1 is set (step S3-21), and the process returns to step S3-12. That is, a transition is made to a two-dimensional array arranged in the adjacent Y-axis direction.
[0143]
On the other hand, in step S3-20, l If it is determined that <= w_y2, it is determined whether the two-dimensional array BLACK_BOX [k] [l] == 1 (step S3-22), and the two-dimensional array BLACK_BOX [k] [l] If == 1, l = l + 1 is set (step S3-23), and the process returns to step S3-20.
[0144]
On the other hand, if it is determined in step S3-22 that the two-dimensional array BLACK_BOX [k] [l] == 1 is not satisfied, that is, the two-dimensional array BLACK_BOX [k] [l] If it is determined that it is outside, w_x2 = k-1 (step S3-24), the X coordinate value of the right side of the rectangular area to be extracted is confirmed, and rectangular area extraction processing is performed (step S3- 25). Thereby, N-shaped, T-shaped, and inverted T-shaped division processing can be performed.
[0145]
FIG. 26 is a flowchart showing a rectangular area extraction processing program. First, the rectangular area extraction process outputs the extracted rectangular areas [(w_x1, w_y1), (w_x2, w_y2)] to the PDEF (step S5-1). Next, “0” is set in the two-dimensional array of the extracted rectangular areas [(w_x1, w_y1), (w_x2, w_y2)], and the extracted rectangular areas [(w_x1, w_y1), (w_x2, w_y2)] Is cleared (step S5-2), and the rectangular area extraction process is terminated.
[0146]
If the right-angled polygonal area 78 in FIG. 27 is to be divided, first, rectangular areas [(w_x1 = 2, w_y1 = 2), (w_x2 = 12, w_y2 = 3)] 93 shown in FIG. Is recognized through steps S3-1 to S3-12, S3-14 to S3-16, and S3-19 to S3-23, the rectangular area extraction processing in step S3-13 is performed, and the state of the two-dimensional array is As shown in FIG.
[0147]
Next, rectangular areas [(w_x1 = 2, w_y1 = 9), (w_x2 = 12, w_y2 = 10)] 94 shown in FIG. 36 are steps S3-2 to S3-12, S3-14 to S3-16, and S3. It is recognized through -19 to S3-23, rectangular area extraction processing is performed in step S3-13, and the state of the two-dimensional array is as shown in FIG.
[0148]
Next, rectangular areas [(w_x1 = 4, w_y1 = 7), (w_x2 = 6, w_y2 = 8)] 95 shown in FIG. 37 are steps S3-2 to S3-12, S3-14 to S3-16, S3. It is recognized through -19 to S3-24, rectangular area extraction processing in step S3-25 is performed, and the state of the two-dimensional array is as shown in FIG.
[0149]
Next, rectangular regions [(w_x1 = 5, w_y1 = 4), (w_x2 = 6, w_y2 = 4)] 96 shown in FIG. 38 are steps S3-2 to S3-8, S3-10 to S3-12, S3. Recognition through -14 to S3-16 and S3-19 to S3-24, rectangular area extraction processing in step S3-25 is performed, and the state of the two-dimensional array is as shown in FIG.
[0150]
Next, rectangular regions [(w_x1 = 8, w_y1 = 6), (w_x2 = 10, w_y2 = 7)] 97 shown in FIG. 39 are steps S3-2 to S3-12, S3-14 to S3-16, S3. Recognition through -19 to S3-23 and S3-17, rectangular area extraction processing in step S3-18 is performed, and the state of the two-dimensional array is as shown in FIG.
[0151]
Next, rectangular regions [(w_x1 = 11, w_y1 = 4), (w_x2 = 12, w_y2 = 8)] 98 shown in FIG. 40 are steps S3-2 to S3-12, S3-14 to S3-16, S3. It is recognized through -19 to S3-23, rectangular area extraction processing is performed in step S3-13, and the state of the two-dimensional array is as shown in FIG.
[0152]
In this way, when dividing the right-angle polygon area 78 shown in FIG. 27, if one embodiment of the right-angle polygon area dividing method of the present invention is used, as shown in FIG. It can be divided into regions 93-98.
[0153]
On the other hand, when the right-angled polygonal region 79 in FIG. 43 is to be divided, first, rectangular regions [(w_x1 = 2, w_y1 = 5), (w_x2 = 9, w_y2 = 6) shown in FIG. 100 is recognized through steps S3-1 to S3-12, S3-14 to S3-16, S3-19 to S3-23, and S3-17, and the rectangular area extraction process in step S3-18 is performed. The state of the dimension array is as shown in FIG.
[0154]
Next, the rectangular area [(w_x1 = 5, w_y1 = 7), (w_x2 = 9, w_y2 = 7)] 101 shown in FIG. 52 becomes steps S3-2 to S3-12, S3-14 to S3-16, S3. Recognition through -19 to S3-23 and S3-17, rectangular area extraction processing in step S3-18 is performed, and the state of the two-dimensional array is as shown in FIG.
[0155]
Next, the rectangular area [(w_x1 = 7, w_y1 = 4), (w_x2 = 9, w_y2 = 4)] 102 shown in FIG. 53 becomes steps S3-2 to S3-12, S3-14 to S3-16, S3. It is recognized through -19 to S3-23 and S3-17, rectangular area extraction processing is performed in step S3-18, and the state of the two-dimensional array is as shown in FIG.
[0156]
Next, the rectangular area [(w_x1 = 10, w_y1 = 2), (w_x2 = 11, w_y2 = 9)] 103 shown in FIG. 54 is executed in steps S3-2 to S3-12, S3-14 to SS3-16, S3. Recognition through -19 to S3-23, rectangular area extraction processing in step S3-13 is performed, and the state of the two-dimensional array is as shown in FIG.
[0157]
In this way, when dividing the right-angle polygon region 79 shown in FIG. 43, if one embodiment of the right-angle polygon region dividing method of the present invention is used, as shown in FIG. It can be divided into rectangular regions 100-103.
[0158]
As described above, according to one embodiment of the right-angle polygon region dividing method of the present invention, the horizontal T shape can be divided in the vertical direction, the T shape and the inverted T shape can be divided in the horizontal direction, Although not shown, since the N-shape can be divided in the vertical direction, the right-angle polygon region can be divided into the minimum number of rectangular regions. Therefore, the amount of PDEF data can be minimized, the processing speed of other programs that input PDEF data can be increased, and the design period of the integrated circuit can be shortened.
[0159]
In one embodiment of the method for dividing a right-angled polygon region of the present invention, while checking the value of the two-dimensional array from the leftmost two-dimensional array constituting the right-angled polygon region toward the maximum X coordinate value side, Although the case where a T-shape or the like is detected has been described, instead of checking the value of the two-dimensional array from the rightmost two-dimensional array constituting the right-angle polygon region toward the minimum X coordinate value side, A T-shape or the like may be detected.
[0160]
FIG. 57 is a block circuit diagram showing the main part of one embodiment of the right-angle polygonal area dividing apparatus of the present invention. In FIG. 57, 105 is an input means, 106 is a display device, 107 is a CPU (central processing unit), Reference numeral 108 denotes a RAM (radom access memory).
[0161]
Reference numeral 109 denotes a right-angle polygon region dividing program, that is, a main processing program shown in FIGS. 17 and 18, a two-dimensional array check processing program shown in FIG. 19, and a rectangular region recognition processing program shown in FIGS. And a rectangular polygon region division program storage unit for storing programs including the horizontal T-character check processing program shown in FIGS. 24 and 25 and the rectangular region extraction processing program shown in FIG.
[0162]
Reference numeral 110 denotes a floor plan data storage unit that stores floor plan data of an integrated circuit having a right-angle polygon region to be divided, and 111 denotes a PDEF data storage unit that stores PDEF data.
[0163]
In one embodiment of the right-angle polygon area dividing apparatus of the present invention configured as described above, the CPU 107 converts the right-angle polygon area included in the floor plan data stored in the floor plan data storage section 110 into a right-angle polygon area. The rectangular area division program storage unit 109 stores the rectangular area data in accordance with the rectangular polygon area division program and stores the extracted rectangular area data in the PDEF data storage unit 111.
[0164]
Therefore, according to one embodiment of the right-angle polygon region dividing apparatus of the present invention, one embodiment of the right-angle polygon region dividing method of the present invention is executed to minimize the amount of PDEF data and input PDEF data. The processing speed of the program can be increased, and the design period of the integrated circuit can be shortened.
[0165]
【The invention's effect】
As described above, according to the first, second, fourth, fifth, seventh, eighth, tenth, eleventh, thirteenth, fourteenth, sixteenth, or seventeenth aspects of the present invention, The rectangular polygon area can be divided into a smaller number or a minimum number of rectangular areas than in the conventional example, and when this is used, for example, when outputting floorplan data to PDEF, the amount of PDEF data Can be made smaller or smaller than in the case of the conventional example, the processing speed of another program for inputting PDEF data can be increased, and the design period of the integrated circuit can be shortened.
[0166]
In the present invention, according to the third, sixth, ninth, twelfth, fifteenth, or eighteenth invention, a right-angled polygonal region can be divided into a minimum number of rectangular regions. When the floor plan data is used for outputting to the PDEF, the PDEF data amount is set to be smaller or smaller than that in the conventional example, and the processing speed of the other program for inputting the PDEF data is increased. The design period can be shortened.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a first invention in the present invention.
FIG. 2 is a diagram for explaining a second invention in the present invention.
FIG. 3 is a diagram for explaining a fourth aspect of the present invention.
FIG. 4 is a diagram for explaining a fifth aspect of the present invention.
FIG. 5 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 6 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 7 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 8 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 9 is a diagram for explaining an embodiment of a right-angle polygon region dividing method according to the present invention.
FIG. 10 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 11 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 12 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 13 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 14 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 15 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 16 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 17 is a flowchart showing a main processing program in one embodiment of the method for dividing a right-angled polygonal area according to the present invention;
FIG. 18 is a flowchart showing a main processing program in one embodiment of the method for dividing a right polygonal area according to the present invention;
FIG. 19 is a flowchart showing a check processing program for a two-dimensional array in an embodiment of the right-angled polygon region dividing method of the present invention.
FIG. 20 is a flowchart showing a rectangular area recognition processing program in an embodiment of the rectangular polygon area dividing method of the present invention.
FIG. 21 is a flowchart showing a rectangular area recognition processing program in an embodiment of the rectangular polygon area dividing method of the present invention.
FIG. 22 is a flowchart showing a rectangular area recognition processing program in an embodiment of the rectangular polygon area dividing method of the present invention.
FIG. 23 is a flowchart showing a rectangular area recognition processing program in an embodiment of the rectangular polygon area dividing method of the present invention.
FIG. 24 is a flowchart showing a horizontal T-character check processing program in an embodiment of the right-angle polygon region dividing method of the present invention.
FIG. 25 is a flowchart showing a horizontal T-character check processing program in an embodiment of the right-angle polygon region dividing method of the present invention.
FIG. 26 is a flowchart showing a rectangular area extraction processing program in an embodiment of the right-angle polygon area dividing method of the present invention.
FIG. 27 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 28 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 29 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 30 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 31 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 32 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 33 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 34 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 35 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 36 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 37 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 38 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 39 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 40 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 41 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 42 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 43 is a diagram for explaining an embodiment of a rectangular polygon region dividing method according to the present invention.
FIG. 44 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 45 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 46 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 47 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 48 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 49 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 50 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 51 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 52 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 53 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 54 is a diagram for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 55 is a diagram for explaining an embodiment of the rectangular polygon region dividing method according to the present invention.
FIG. 56 is a view for explaining an embodiment of the rectangular polygon region dividing method of the present invention.
FIG. 57 is a block circuit diagram showing the main part of an embodiment of the right-angled polygonal region dividing apparatus of the present invention.
FIG. 58 is a diagram for explaining a conventional right-angle polygon region dividing method;
FIG. 59 is a diagram for explaining a problem that a conventional right-angle polygon region dividing method has.
FIG. 60 is a diagram for explaining a preferred method of dividing a right-angle polygonal region having a horizontal T shape, a T shape, and an inverted T shape.
FIG. 61 is a diagram for explaining a preferred method for dividing an N-shaped right-angled polygonal region;
[Explanation of symbols]
(Fig. 57)
105 Input means
106 Display device
107 CPU
108 RAM
109 Right-angle polygon area division program storage unit
110 Floor plan data storage
111 PDEF data storage

Claims (18)

フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side forming a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. A method for dividing a right-angled polygonal region.
フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When the part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right side or the left side of the rectangular area to be extracted at the position of the line segment before protruding. A method of dividing a right-angled polygonal region, comprising: extracting a region.
フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side forming a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. Process,
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When the part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right side or the left side of the rectangular area to be extracted at the position of the line segment before protruding. A method of dividing a right-angled polygonal region, comprising: extracting a region.
フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted become the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. Extracting the rectangular area to be extracted as having a right side or a left side of the rectangular area to be extracted at a position.
フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array forming a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. And extracting the rectangular region to be extracted as having the right side or the left side of the rectangular polygon region dividing method.
フロアプランデータ格納部に格納されているフロアプランデータに含まれる、フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を、CPUが直角多角形領域分割プログラム格納部に格納されている直角多角形領域分割プログラムに従って複数の矩形領域に分割する直角多角形領域分割方法であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを含んでいることを特徴とする直角多角形領域分割方法。
The right-angled polygon area generated on the layout surface of the integrated circuit by the floorplan included in the floorplan data stored in the floorplan data storage section is displayed in the right-angled area where the CPU is stored in the right-angle polygon area division program storage section. A rectangular polygon region dividing method for dividing into a plurality of rectangular regions according to a polygon region dividing program ,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted are the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. Extracting the rectangular region to be extracted as having a right side or a left side of the rectangular region to be extracted at a position;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array forming a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. And extracting the rectangular region to be extracted as having the right side or the left side of the rectangular polygon region dividing method.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side constituting a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. A recording medium on which a right-angled polygonal area dividing program is recorded.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When the part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right side or the left side of the rectangular area to be extracted at the position of the line segment before protruding. A recording medium on which a right-angled polygonal area dividing program is recorded, comprising a program for executing an area extracting step.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side forming a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. Process,
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When the part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right side or the left side of the rectangular area to be extracted at the position of the line segment before protruding. A recording medium on which a right-angled polygonal area dividing program is recorded, comprising a program for executing an area extracting step.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted become the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. A recording that records a right-angled polygonal region segmentation program that includes a program for executing the step of extracting the rectangular region to be extracted on the assumption that there is a right side or a left side of the rectangular region to be extracted at a position Medium.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array forming a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. A recording medium on which a right-angled polygonal region dividing program is recorded, which includes a program for executing the step of extracting the rectangular region to be extracted as having the right side or the left side of.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域をコンピュータによって複数の矩形領域に分割する直角多角形領域分割プログラムを記録した記録媒体であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行するプログラムを含んでいることを特徴とする直角多角形領域分割プログラムを記録した記録媒体。
A recording medium on which a right-angle polygon area dividing program for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangle areas by a computer is recorded,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted are the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. Extracting the rectangular region to be extracted as having a right side or a left side of the rectangular region to be extracted at a position;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array forming a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. A recording medium on which a right-angled polygonal region dividing program is recorded, which includes a program for executing the step of extracting the rectangular region to be extracted as having the right side or the left side of.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side constituting a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. And a right-angled polygonal region dividing apparatus.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When a part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right or left side of the rectangular area to be extracted at the position of the line segment before protruding. A right-angled polygonal region dividing apparatus comprising means for executing a region extracting step.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺として認識し、前記抽出すべき矩形領域の左辺又は右辺と一致する線分を仮想する工程と、
前記線分を含む上下方向を観察しながら、前記線分の一部又は全体が前記直角多角形領域の外部に食み出さない限り、前記線分を右方向又は左方向に走査し、前記線分の上下方向に横T字形を構成する垂直辺を検出した時は、その時の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記線分を含む上下方向を観察しながら、前記線分の上下方向に横T字形を構成する垂直辺を検出しない限り、前記線分を右方向又は左方向に走査し、前記線分の一部又は全体が前記直角多角形領域の外部に食み出した場合には、食み出す前の前記線分の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
Recognizing the leftmost or rightmost vertical side of the right-angled polygonal region as the left or right side of the rectangular region to be extracted, and imagining a line segment that matches the left or right side of the rectangular region to be extracted;
While observing the vertical direction including the line segment, unless the line segment partially or entirely protrudes outside the right-angled polygonal region, the line segment is scanned rightward or leftward, and the line When a vertical side forming a horizontal T-shape is detected in the vertical direction of the minute, the rectangular region to be extracted is extracted assuming that there is a right side or a left side of the rectangular region to be extracted at the position of the line segment at that time. Process,
While observing the vertical direction including the line segment, the line segment is scanned rightward or leftward unless a vertical side forming a horizontal T-shape is detected in the vertical direction of the line segment. When a part or the whole protrudes outside the right-angled polygonal area, the rectangle to be extracted is assumed to have the right or left side of the rectangular area to be extracted at the position of the line segment before protruding. A right-angled polygonal region dividing apparatus comprising means for executing a region extracting step.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted are the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. And a step of extracting the rectangular area to be extracted as having a right side or a left side of the rectangular area to be extracted at a position.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array that forms a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. And a step of extracting the rectangular region to be extracted on the assumption that there is a right side or a left side.
フロアプランにより集積回路のレイアウト面に発生した直角多角形領域を複数の矩形領域に分割する直角多角形領域分割装置であって、
前記直角多角形領域内の二次元配列の値を第1論理値、前記直角多角形領域外の二次元配列の値を第2論理値とし、前記直角多角形領域を二次元配列で表現する工程と、
前記直角多角形領域の最左端又は最右端の垂直辺を、抽出すべき矩形領域の左辺又は右辺とし、前記抽出すべき矩形領域の最小Y座標値及び最大Y座標値を認識する工程と、
前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の何れか又は全部の値が前記第2論理値とならない限り、前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列が存在するか否かのチェックを前記抽出すべき矩形領域の最小X座標値又は最大座標値のY軸方向から順にX座標方向に行い、横T字形を構成する垂直辺をなす二次元配列を検出した時は、チェックしているY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程と、
前記抽出すべき矩形領域の最小Y座標値の二次元配列の下方及び最大Y座標値の上方にT字形を構成する垂直辺をなす二次元配列を検出しない限り、前記抽出すべき矩形領域の最小Y座標値と最大Y座標値との間のY軸方向に並ぶ二次元配列の値のチェックを前記抽出すべき矩形領域の最小X座標値又は最大X座標値のY軸方向から順にX座標方向に行い、前記第2論理値の二次元配列を検出した時は、チェックしているY軸方向のX座標値の一つ前のY軸方向のX座標値の位置に前記抽出すべき矩形領域の右辺又は左辺があるものとして前記抽出すべき矩形領域を抽出する工程とを実行する手段を有していることを特徴とする直角多角形領域分割装置。
A right-angle polygon area dividing device for dividing a right-angle polygon area generated on a layout surface of an integrated circuit by a floor plan into a plurality of rectangular areas,
A step of expressing the right-angled polygonal area as a two-dimensional array by setting the value of the two-dimensional array in the right-angled polygonal area as a first logical value, the value of the two-dimensional array outside the right-angled polygonal area as a second logical value. When,
Recognizing the minimum Y coordinate value and the maximum Y coordinate value of the rectangular region to be extracted, using the leftmost edge or rightmost edge of the right-angled polygonal region as the left side or right side of the rectangular region to be extracted;
The rectangle to be extracted unless any or all of the two-dimensional arrays arranged in the Y-axis direction between the minimum Y coordinate value and the maximum Y coordinate value of the rectangle area to be extracted are the second logical value. The minimum X of the rectangular area to be extracted is checked whether or not there is a two-dimensional array forming a vertical side that forms a T shape below the two-dimensional array of the minimum Y coordinate value of the area and above the maximum Y coordinate value. When the coordinate value or the maximum X coordinate value is sequentially performed in the X coordinate direction from the Y axis direction and a two-dimensional array forming a vertical side forming a horizontal T-shape is detected, the X coordinate value in the Y axis direction being checked is detected. Extracting the rectangular region to be extracted as having a right side or a left side of the rectangular region to be extracted at a position;
The minimum of the rectangular area to be extracted is not detected unless a two-dimensional array that forms a vertical side forming a T-shape is detected below the two-dimensional array of the minimum Y coordinate value of the rectangular area to be extracted and above the maximum Y coordinate value. Check the value of the two-dimensional array arranged in the Y-axis direction between the Y coordinate value and the maximum Y coordinate value in the X coordinate direction in order from the Y axis direction of the minimum X coordinate value or the maximum X coordinate value of the rectangular area to be extracted When the two-dimensional array of the second logical values is detected, the rectangular area to be extracted is located at the position of the X coordinate value in the Y axis direction immediately before the X coordinate value in the Y axis direction being checked. And a step of extracting the rectangular region to be extracted on the assumption that there is a right side or a left side.
JP18408798A 1998-06-30 1998-06-30 Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus Expired - Fee Related JP4161418B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18408798A JP4161418B2 (en) 1998-06-30 1998-06-30 Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18408798A JP4161418B2 (en) 1998-06-30 1998-06-30 Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus

Publications (2)

Publication Number Publication Date
JP2000020566A JP2000020566A (en) 2000-01-21
JP4161418B2 true JP4161418B2 (en) 2008-10-08

Family

ID=16147179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18408798A Expired - Fee Related JP4161418B2 (en) 1998-06-30 1998-06-30 Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus

Country Status (1)

Country Link
JP (1) JP4161418B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073967B2 (en) * 2002-04-15 2011-12-06 Fisher-Rosemount Systems, Inc. Web services-based communications for use with process control systems
JP4221045B2 (en) 2005-06-20 2009-02-12 富士通株式会社 Floor plan design support device, floor plan design support program, and computer-readable recording medium recording the program
US8413098B2 (en) * 2009-04-29 2013-04-02 International Business Machines Corporation T-connections, methodology for designing T-connections, and compact modeling of T-connections
US9633414B2 (en) 2012-07-25 2017-04-25 Nec Corporation Update region detection device

Also Published As

Publication number Publication date
JP2000020566A (en) 2000-01-21

Similar Documents

Publication Publication Date Title
JP3022315B2 (en) Circuit extraction method
EP2807603A1 (en) Formula detection engine
JP4161418B2 (en) Right-angle polygon area dividing method, recording medium recording right-angle polygon area dividing program, and right-angle polygon area dividing apparatus
JP6327828B2 (en) Information processing apparatus, control method therefor, and program
JP2015082805A (en) Image processing system, control method of the same, and program
CN111737785B (en) Data interaction method, device and system of Revit and AutoCAD
KR19990054793A (en) How to extract feature from 3D shape data
JP3369734B2 (en) Three-dimensional computer-aided design apparatus and method
CN102902534B (en) A kind of transparent OSD software implementation method
JP2001249746A (en) Information reading device and medium with information reading program stored thereon
CN106855893B (en) Method and device for acquiring power supply main line of memory layout
JP4169488B2 (en) 3D shape simplified display data creation method, apparatus and recording medium
US7096451B2 (en) Mesh plane generation and file storage
US8952979B2 (en) Wave fill
JP2981269B2 (en) Hierarchical figure calculation method
JPH04133448A (en) Hierarchized graphic arithmetic method
JP2007179203A (en) Slip retrieval device, slip retrieval method, program and computer-readable storage medium
Barnette Generating closed 2-cell embeddings in the torus and the projective plane
JP4158959B2 (en) Three-dimensional shape processing apparatus, three-dimensional shape processing method, and recording medium on which program according to the method is recorded
JP2004287495A (en) Image processor, program used for image processing, and medium recording the program
JPH028961A (en) Graphic input device
JP2002269486A (en) Html file generation method for electronic business form and html file generation program
JPH11242716A (en) Image processing method and storage medium
JP3213652B2 (en) Closed area automatic extraction method and apparatus
JPS6253869B2 (en)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050516

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080606

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: 20080701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080714

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

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: 20110801

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees