JP4617363B2 - Integrated circuit design equipment - Google Patents

Integrated circuit design equipment Download PDF

Info

Publication number
JP4617363B2
JP4617363B2 JP2008027368A JP2008027368A JP4617363B2 JP 4617363 B2 JP4617363 B2 JP 4617363B2 JP 2008027368 A JP2008027368 A JP 2008027368A JP 2008027368 A JP2008027368 A JP 2008027368A JP 4617363 B2 JP4617363 B2 JP 4617363B2
Authority
JP
Japan
Prior art keywords
block
coat
processing unit
integrated circuit
area
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
JP2008027368A
Other languages
Japanese (ja)
Other versions
JP2008176798A (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 JP2008027368A priority Critical patent/JP4617363B2/en
Publication of JP2008176798A publication Critical patent/JP2008176798A/en
Application granted granted Critical
Publication of JP4617363B2 publication Critical patent/JP4617363B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は集積回路設計装置に係り、特に、集積回路を設計するための集積回路設計装置に関する。   The present invention relates to an integrated circuit design apparatus, and more particularly to an integrated circuit design apparatus for designing an integrated circuit.

近年、集積回路には、製品の多様化に伴い、設計時間の短縮が求められている。このため、集積回路の設計時間を短縮化するためには、設計工程を大幅に削減する必要があった。現在、集積回路の設計は集積回路設計装置により行われる。   In recent years, with the diversification of products, integrated circuits are required to reduce design time. For this reason, in order to shorten the design time of the integrated circuit, it is necessary to greatly reduce the design process. Currently, integrated circuit design is performed by an integrated circuit design apparatus.

従来の集積回路設計装置は、主にフロアプラン表示機能及びタイミング解析機能を有していた。   Conventional integrated circuit design apparatuses mainly have a floor plan display function and a timing analysis function.

フロアプラン表示機能は、実装ブロックを処理単位、表示単位として表示する機能である。タイミング解析機能は、実装ブロック間の距離に基づき簡易的にパスディレイの計算を行う機能である。   The floor plan display function is a function for displaying mounting blocks as processing units and display units. The timing analysis function is a function that simply calculates the path delay based on the distance between the mounting blocks.

従来の集積回路設計装置では、上記フロアプラン表示機能を用いて実装ブロック単位で設計を行い、配置された実装ブロック間のディレイをタイミング解析機能を用いて解析し、ディレイが所望のディレイとなるように実装ブロック単位での設計が繰り返されていた。   In the conventional integrated circuit design apparatus, the above-described floor plan display function is used to design each mounting block, the delay between the arranged mounting blocks is analyzed using the timing analysis function, and the delay becomes a desired delay. The design for each mounting block was repeated.

また、ハードウェア記述言語による設計では、回路合成時に使用したディレイ情報、例えば、セルの段数とゲートディレイをフロアプランでのタイミング解析に利用している。   In the design by the hardware description language, the delay information used at the time of circuit synthesis, for example, the number of cell stages and the gate delay are used for timing analysis in the floor plan.

しかるに、従来の集積回路の設計は、実装ブロックが処理単位であった。実装ブロックの論理回路の規模は数十万ゲートになる。このため、実装ブロック単位で設計を行うと、タイミング解析機能による解析結果の精度が悪く、実際とタイミング解析結果との誤差が大きいため、目標とする回路速度を実現するために設計の手戻りが頻繁に発生していた。このため、集積回路の設計工数の削減を妨げていた。   However, in the conventional integrated circuit design, the mounting block is a processing unit. The scale of the logic circuit of the mounting block is several hundred thousand gates. For this reason, if the design is performed in units of mounting blocks, the accuracy of the analysis results by the timing analysis function is poor, and the error between the actual and timing analysis results is large, so the design must be reworked to achieve the target circuit speed. It occurred frequently. This hinders the reduction in the number of design steps for the integrated circuit.

本発明は、上記の点に鑑みてなされたもので、集積回路の設計を効率よく行える集積回路設計装置を提供することを目的とする。   The present invention has been made in view of the above points, and an object thereof is to provide an integrated circuit design apparatus capable of efficiently designing an integrated circuit.

本発明は、チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、複数の実装ブロック毎に設定されるコートを、所定実装ブロックに配置するブロック配置処理部と、所定実装ブロックとは異なる実装ブロックの機能ブロックを、所定実装ブロック上に設定されるコートに、配置する領域割付処理部と、所定実装ブロック、及び、所定実装ブロックに対して下位となり、配置される下位階層のコートの配置状態を評価するブロック評価処理部とを有し、ブロック評価処理部は、領域割付処理部による機能ブロックのコートへの配置に伴い、前記下位階層の機能ブロックの面積が所定実装ブロックに配置されたコートの面積に占める割合を算出し、算出された機能ブロックとコートとの面積の割合をコート毎に図形により表示するものである。 In the present invention, for each of a plurality of mounting blocks, which are areas obtained by dividing a chip area, a coat, which is a virtual arrangement area obtained by dividing a mounting block, is set by a designer using an input unit, and the integrated circuit is designed. In an integrated circuit design device, a block arrangement processing unit that arranges a coat set for each of a plurality of mounting blocks in a predetermined mounting block, and a functional block of a mounting block different from the predetermined mounting block is placed on the predetermined mounting block An area allocation processing unit to be arranged on the set court, a predetermined mounting block, and a block evaluation processing unit that evaluates the arrangement state of the lower layer court to be arranged lower than the predetermined mounting block. , block evaluation processing unit, with the arrangement of the coating of the functional blocks by the area allocation processing section, the area of the functional block of the lower layer Calculating the percentage of the area of the arranged coated to a constant mounting block, the ratio of the area between the calculated functional blocks and coating is for displaying a graphic for each coat.

また、本発明は、チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、ートを所定実装ブロックに配置するブロック配置処理部と、能ブロックをコートに配置する領域割付処理部と、所定実装ブロック、及び、所定実装ブロックに対して下位階層となり、配置される下位階層のコートの配置状態を評価するブロック評価処理部とを有し、ブロック評価処理部は、下位階層の機能ブロックの面積が、所定実装ブロックに配置されたコートの面積に占める割合を算出する面積比計算部と、算出された機能ブロックとコートの面積比が基準内であるか否かを判別し、基準内であると判別された場合に配置された下位階層のコート間の経路におけるディレイを算出するディレイ計算処理部とを有する。 The present invention also provides a design of an integrated circuit by setting a coat, which is a virtual placement area obtained by dividing a mounting block, from a designer for each of a plurality of mounting blocks, which are areas obtained by dividing a chip area. an integrated circuit design apparatus for performing a block arrangement processing unit to place the constant mounting block where the co-chromatography bets, a region assignment unit for place the function block copolymers over preparative predetermined mounting block and, A block evaluation processing unit that evaluates the arrangement state of the lower layer coats that are lower layers than the predetermined mounting block, and the area of the functional blocks in the lower layer is the predetermined mounting block An area ratio calculation unit that calculates the ratio of the area of the coat placed in the area, and whether or not the calculated area ratio of the functional block and the coat is within the reference range. And a delay calculation processing unit for calculating the delay in the path between the coats arranged lower layer if it is determined that.

さらに、本発明は、チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、集積回路の実装ブロック内に、コートを設定するブロック配置処理部と、能ブロックコート上に配置する領域割付処理部と、領域割付処理部による機能ブロックのコートへの配置に伴い、コート上に配置された機能ブロック間の経路におけるディレイを算出するディレイ計算処理部とを有する。 Furthermore, the present invention provides a design of an integrated circuit by setting and arranging a coat, which is a virtual placement area obtained by dividing a mounting block, by a designer for each of a plurality of mounting blocks, which are areas obtained by dividing a chip area. an integrated circuit design apparatus for performing, in a mounting block of the integrated circuit, a block arrangement processing unit for setting a coating, a region assignment unit for place the function blocks on the court, function by area assignment processing unit Along with the arrangement of blocks on the court, there is a delay calculation processing section for calculating a delay in a path between functional blocks arranged on the court.

上述の如く、本発明によれば、下位階層のブロックの面積が所定階層のブロックの面積に占める割合を算出し、算出された下位階層のブロックの面積が所定階層に配置されるブロックの面積に占める割合を図形により表示することにより、算出された下位階層のブロックの面積が所定階層に配置されるブロックの面積に占める割合を直感的に把握でき、異なる階層の設計を効率よく行えるようになる。   As described above, according to the present invention, the ratio of the area of the block in the lower hierarchy to the area of the block in the predetermined hierarchy is calculated, and the area of the block in the lower hierarchy calculated as the area of the block arranged in the predetermined hierarchy is calculated. By displaying the proportions in the form of graphics, it is possible to intuitively understand the proportion of the calculated lower layer block area to the area of the blocks arranged in the predetermined layer, so that different layers can be designed efficiently. .

図1は本発明の一実施例のブロック構成図を示す。   FIG. 1 shows a block diagram of an embodiment of the present invention.

本実施例の情報処理装置1は、データ処理装置11、入力装置12、出力装置13を含む構成とされている。データ処理装置11は、コンピュータシステムから構成されている。入力装置12は、キーボード、マウスなどから構成され、データ処理装置11にコマンドやデータの入力を行う。出力装置13は、ディスプレイなどから構成されており、データ処理装置11で処理されたデータ内容を表示する。   The information processing apparatus 1 according to the present embodiment includes a data processing apparatus 11, an input apparatus 12, and an output apparatus 13. The data processing device 11 is composed of a computer system. The input device 12 includes a keyboard and a mouse, and inputs commands and data to the data processing device 11. The output device 13 is composed of a display or the like, and displays data contents processed by the data processing device 11.

データ処理装置11は、ハードディスクドライブ21、RAM22、CPU23、可換式記憶装置24、通信装置25を含む構成とされている。   The data processing device 11 includes a hard disk drive 21, a RAM 22, a CPU 23, a replaceable storage device 24, and a communication device 25.

ハードディスクドライブ21には、OSや集積回路設計プログラムがインストールされている。ハードディスクドライブ21にインストールされたOS、集積回路設計プログラムは、RAM22に読み出されて、CPU23により実行される。RAM22は、CPU23の作業用記憶領域として用いられる。可換式記憶装置24は、フロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、DVD−ROMドライブ、MOドライブなどである。集積回路設計プログラムを、例えば、フロッピーディスク、CD−ROMディスク、DVD−ROMディスク、MOディスクなどにより提供し、ハードディスクドライブ21にインストールするようにしてもよい。通信装置25は、LAN、電話回線、インターネットを介して通信を行う。集積回路設計プログラムをLAN、電話回線、インターネットを介して提供し、ハードディスクドライブ21にインストールするようにしてもよい。   An OS and an integrated circuit design program are installed in the hard disk drive 21. The OS and integrated circuit design program installed in the hard disk drive 21 are read into the RAM 22 and executed by the CPU 23. The RAM 22 is used as a working storage area for the CPU 23. The replaceable storage device 24 is a floppy (registered trademark) disk drive, a CD-ROM drive, a DVD-ROM drive, an MO drive, or the like. The integrated circuit design program may be provided by, for example, a floppy disk, a CD-ROM disk, a DVD-ROM disk, an MO disk, etc., and installed in the hard disk drive 21. The communication device 25 performs communication via a LAN, a telephone line, and the Internet. The integrated circuit design program may be provided via a LAN, a telephone line, or the Internet, and installed in the hard disk drive 21.

図2は集積回路設計プログラムの機能ブロック図を示す。集積回路設計プログラム31は、主に、フロアプラン作成・表示処理部41、機能ブロック割付処理部42、面積比率計算処理部43、パスディレイ計算処理部44、パスリスト表示処理部45、パス経路表示処理部46から構成される。   FIG. 2 shows a functional block diagram of the integrated circuit design program. The integrated circuit design program 31 mainly includes a floor plan creation / display processing unit 41, a function block allocation processing unit 42, an area ratio calculation processing unit 43, a path delay calculation processing unit 44, a path list display processing unit 45, and a path route display. The processing unit 46 is configured.

集積回路設計プログラム31は、上記フロアプラン作成・表示処理部41、機能ブロック割付処理部42、面積比率計算処理部43、パスディレイ計算処理部44、パスリスト表示処理部45、パス経路表示処理部46の機能を用いて、実装ブロック、仮想配置領域(コート)、機能ブロック(セル)、パスの配置、表示、編集のための処理を行なう。   The integrated circuit design program 31 includes a floor plan creation / display processing unit 41, a function block allocation processing unit 42, an area ratio calculation processing unit 43, a path delay calculation processing unit 44, a path list display processing unit 45, and a path route display processing unit. 46 functions are used for mounting blocks, virtual placement areas (coats), functional blocks (cells), path placement, display, and editing.

ここで、上記機能ブロック、実装ブロック、仮想配置領域、パスについて定義しておく。   Here, the functional block, the mounting block, the virtual arrangement area, and the path are defined.

図3は、機能ブロック(セル)、実装ブロック、仮想配置領域(コート)、パスを説明するための図を示す。図3(A)は機能ブロックを定義するための図、図3(B)は実装ブロックを定義するための図、図3(C)は仮想配置領域を定義するための図、図3(D)はパスを定義するための図を示す。   FIG. 3 is a diagram for explaining a functional block (cell), a mounting block, a virtual arrangement area (coat), and a path. 3A is a diagram for defining functional blocks, FIG. 3B is a diagram for defining mounting blocks, FIG. 3C is a diagram for defining virtual placement areas, and FIG. ) Shows a diagram for defining a path.

図3(A)に示すようにセルB1、B2は、論理回路セルLをある機能毎にまとめたものと定義する。   As shown in FIG. 3A, the cells B1 and B2 are defined as a group of logic circuit cells L for each function.

また、図3(B)に示すように実装ブロックP1〜P4は、実装設計を行う際、LSIチップTを分割した領域と定義する。   Further, as shown in FIG. 3B, the mounting blocks P1 to P4 are defined as areas obtained by dividing the LSI chip T when mounting design is performed.

図3(C)に示すように仮想配置領域(以下、コートと呼ぶ)C1〜C3は、例えば、実装ブロックP2をさらに分割した領域と定義する。   As shown in FIG. 3C, the virtual arrangement areas (hereinafter referred to as coats) C1 to C3 are defined as areas obtained by further dividing the mounting block P2, for example.

図3(D)に示すようにパスM1、M2は、始点セルSSから終点セルSEまでの経路と定義する。図3(D)には、開始セルSS→セルS1→セルS2→セルS3→終了セルSEを通るパスM1、及び、開始セルSS→セルS4→セルS5→セルS3→終了セルSEを通るパスM2が存在する。   As shown in FIG. 3D, the paths M1 and M2 are defined as paths from the start point cell SS to the end point cell SE. FIG. 3D shows a path M1 passing through the start cell SS → cell S1 → cell S2 → cell S3 → end cell SE and a path passing through the start cell SS → cell S4 → cell S5 → cell S3 → end cell SE. M2 is present.

次に、集積回路設計プログラム31を構成する各機能について説明する。   Next, each function constituting the integrated circuit design program 31 will be described.

フロアプラン作成・表示処理部41は、実装ブロックP1〜P4を配置するための処理を行うとともに、配置された実装ブロックP1〜P4、コートC1〜C3を出力装置13に表示するための処理を行う機能である。機能ブロック割付処理部22は、フロアプラン作成・表示処理部21で配置された実装ブロックP1〜P2及びコートC1〜C3にセルB1、B2を割り付ける処理を行うとともに、出力装置13に表示する処理を行う機能である。   The floor plan creation / display processing unit 41 performs processing for arranging the mounting blocks P1 to P4, and performs processing for displaying the arranged mounting blocks P1 to P4 and coats C1 to C3 on the output device 13. It is a function. The functional block allocation processing unit 22 performs processing for allocating the cells B1 and B2 to the mounting blocks P1 and P2 and the coats C1 to C3 arranged in the floor plan creation / display processing unit 21, and displays the processing on the output device 13. It is a function to perform.

面積率計算処理部23は、面積率を計算する処理を行うとともに、面積率を出力装置13に表示するための処理を行う機能である。面積率は、コートC1〜C3またはセルB1、B2の面積が、そのコートまたは機能ブロックが属する実装ブロックP2の面積に占める割合である。   The area ratio calculation processing unit 23 has a function of performing processing for calculating the area ratio and processing for displaying the area ratio on the output device 13. The area ratio is a ratio of the area of the coats C1 to C3 or the cells B1 and B2 to the area of the mounting block P2 to which the coat or functional block belongs.

パスディレイ計算処理部24は、機能ブロック間のパスディレイを計算する。パスリスト表示処理部25は、ディレイが基準値以上のパスをリストとして表示する。パス経路表示処理部46は、パスリスト表示処理部25でリストアップされたパスの経路を画面上に表示するための処理を行う機能である。   The path delay calculation processing unit 24 calculates a path delay between functional blocks. The path list display processing unit 25 displays a path whose delay is equal to or greater than a reference value as a list. The path route display processing unit 46 is a function for performing processing for displaying on the screen the paths of the paths listed by the path list display processing unit 25.

次に、上記集積回路設計プログラム31を用いた設計方法について説明する。   Next, a design method using the integrated circuit design program 31 will be described.

図4は、本発明の一実施例の設計方法のフローチャートを示す。   FIG. 4 shows a flowchart of a design method according to an embodiment of the present invention.

まず、ステップS1で集積回路設計プログラム31のフロアプラン作成・表示処理部41の機能を用いてフロアプランデータを作成する。   First, in step S1, floor plan data is created using the function of the floor plan creation / display processing unit 41 of the integrated circuit design program 31.

図5は実装ブロック及びコートの作成を説明するための図を示す。図5(A)はLSIチップT内のコートの定義例、図5(B)は実装ブロック内のコートの定義例、図5(C)はコートの作成例を示す。   FIG. 5 is a diagram for explaining the creation of the mounting block and the coat. 5A shows an example of definition of a coat in the LSI chip T, FIG. 5B shows an example of definition of a coat in a mounting block, and FIG. 5C shows an example of creation of a coat.

ステップS1のフロアプランの作成では、図5(A)に示すようにLSIチップT内にコートCa、Cb、Cc1〜c3、Cd1、Cd2を設定したり、図5(B)に示すようにLSIチップT内に実装ブロックPa〜Pdを設定し、設定された実装ブロックPa〜Pd内にさらにコートCa、Cb、Cc1〜c3、Cd1、Cd2を設定したりすることにより、フロアプランが作成される。   In creating the floor plan in step S1, coats Ca, Cb, Cc1 to c3, Cd1, and Cd2 are set in the LSI chip T as shown in FIG. 5A, or the LSI is shown in FIG. 5B. By setting mounting blocks Pa to Pd in the chip T and further setting coats Ca, Cb, Cc1 to c3, Cd1 and Cd2 in the set mounting blocks Pa to Pd, a floor plan is created. .

このとき、図5(A)、(B)に示すように等しい大きさのコートCa1〜Ca25を同時に複数個設定したり、コートCc1〜Cc3のように任意の大きさで設定したりできる。また、形状も矩形だけではなく、コートCd1、Cd2のように任意の形状のコートも作成できる。   At this time, as shown in FIGS. 5A and 5B, a plurality of coats Ca1 to Ca25 having the same size can be set at the same time, or can be set at an arbitrary size such as coats Cc1 to Cc3. In addition, the shape of the coat is not limited to a rectangle, but a coat having an arbitrary shape such as coats Cd1 and Cd2 can be created.

また、コートCc1とコートCc2とのように複数のコートを重ねたり、コートCc1とコートCc3とのようにコートの一部を重ねたりすることも可能である。   It is also possible to overlap a plurality of coats such as the coat Cc1 and the coat Cc2, or to overlap a part of the coats such as the coat Cc1 and the coat Cc3.

また、図5(C)に示すように実装ブロックPa〜PdまたはLSIチップTにコートを定義するには、例えば、下記の方法が考えられる。   In order to define a coat on the mounting blocks Pa to Pd or the LSI chip T as shown in FIG.

第1のコート作成方法は、LSIチップT、または実装ブロックPを指定した数値で複数のコートに分割する方法である。   The first coat creating method is a method of dividing the LSI chip T or the mounting block P into a plurality of coats by a specified numerical value.

第1のコート作成方法でコートを作成する場合、設計者は分割しようとする実装ブロックPa又はLSIチップTを選択する。次に、第1のコート作成方法を選択することにより、分割数指定ウィンドウが表示される。例えば、実装ブロックPaが選択された場合、図5(C)に示すように実装ブロックPaの近くに、分割数指定ウィンドウw1が表示される。設計者は、分割数指定ウィンドウw1にx方向とy方向の分割数を指定する。フロアプラン作成・表示処理機能41は、選択されたLSIチップT又は実装ブロックに指定された分割数で均等にコートCa1〜Ca25が設定される。   When creating a coat by the first coat creation method, the designer selects the mounting block Pa or LSI chip T to be divided. Next, a division number designation window is displayed by selecting the first coat creation method. For example, when the mounting block Pa is selected, a division number designation window w1 is displayed near the mounting block Pa as shown in FIG. The designer designates the number of divisions in the x and y directions in the division number designation window w1. In the floor plan creation / display processing function 41, the coats Ca1 to Ca25 are evenly set by the number of divisions designated for the selected LSI chip T or mounting block.

第2の方法は、指定したサイズでLSIチップT又は実装ブロックを分割する方法である。   The second method is a method of dividing the LSI chip T or the mounting block with a specified size.

第2の方法でコートを作成する場合、設計者は分割しようとする実装ブロックPa又はLSIチップTを選択する。次に、第2のコート作成方法を選択することにより、分割サイズ指定ウィンドウが表示される。例えば、実装ブロックPbが選択された場合、図5(C)に示すように実装ブロックPbの近くに、分割サイズ指定ウィンドウw2が表示される。設計者は、分割サイズ指定ウィンドウw2に1つのコートのx方向のサイズSxとy方向のサイズSyとを指定する。フロアプラン作成・表示処理機能41は、選択されたサイズ〔(Sx)×(Sy)〕のコートを設定する。このとき、左下端からサイズ〔(Sx)×(Sy)〕コートPb4、Pb5、Pb7、Pb8が配置され、実装ブロックPbの残余の部分にはサイズ〔(Sx)×(Sy)〕より小さいコートPb1〜Pb3、Pb6、Pb9が設定される。   When creating a coat by the second method, the designer selects a mounting block Pa or LSI chip T to be divided. Next, the division size designation window is displayed by selecting the second coat creation method. For example, when the mounting block Pb is selected, as shown in FIG. 5C, a division size designation window w2 is displayed near the mounting block Pb. The designer designates the size Sx in the x direction and the size Sy in the y direction of one coat in the division size designation window w2. The floor plan creation / display processing function 41 sets the court of the selected size [(Sx) × (Sy)]. At this time, the size [(Sx) × (Sy)] coat Pb4, Pb5, Pb7, Pb8 is arranged from the lower left end, and the smaller part of the size [(Sx) × (Sy)] is applied to the remaining portion of the mounting block Pb. Pb1 to Pb3, Pb6, and Pb9 are set.

第3のコート設定方法は、マウス等の入力手段を用いて任意の矩形状のコートを作成するものである。例えば、図5(C)の実装ブロックPdに示すようにマウスにより点eから点fまでポインタをドラックすることにより、点eと点fが対角点となるようにコートCdが設定される。   The third coat setting method is to create an arbitrary rectangular coat using an input means such as a mouse. For example, as shown in the mounting block Pd in FIG. 5C, by dragging the pointer from the point e to the point f with the mouse, the coat Cd is set so that the point e and the point f become diagonal points.

第4のコート作成方法は、マウス等の入力手段を用いて任意の形状、大きさのコートを作成するものである。例えば、図5(C)の実装ブロックPcに示すようにマウスによりポインタを移動させ、クリックすることにより点g、点h、点i、点j、点k、点lを指定する。指定された点g、h、i、j、k、lを直線で結んだ図形がコートとして設定される。   The fourth coat creation method is to create a coat having an arbitrary shape and size using an input means such as a mouse. For example, as shown in the mounting block Pc in FIG. 5C, the pointer is moved with the mouse, and the point g, the point h, the point i, the point j, the point k, and the point l are designated by clicking. A figure connecting the designated points g, h, i, j, k, and l with straight lines is set as a coat.

以上のようにして、LSIチップT又は実装ブロックP内にコートCが作成される。   As described above, the coat C is created in the LSI chip T or the mounting block P.

図4に戻って説明を続ける。   Returning to FIG. 4, the description will be continued.

ステップS1で、LSIチップに実装ブロックP及び/又はコートが作成されると、次に、ステップS2で作成された実装ブロックP又はコートCにセルBが割り付けられる。セルBは、例えば、各コートCに機能を設定することにより、設定された機能に応じた機能を実現するための機能ブロックがコートCに自動的に設定される。   When the mounting block P and / or coat is created on the LSI chip in step S1, the cell B is allocated to the mounting block P or coat C created in step S2. In the cell B, for example, by setting a function to each coat C, a function block for realizing a function corresponding to the set function is automatically set to the coat C.

コートCに機能ブロックあるいはセルが割り付けられると、ステップS3でコートC毎のセル占有率が次の式で計算され、ステップS4でコート毎にそのコート内にグラフ表示される。   When a functional block or cell is assigned to the court C, the cell occupancy rate for each court C is calculated by the following formula in step S3, and a graph is displayed in the court for each court in step S4.

占有率=(機能ブロックあるいはセルの面積合計/コートの面積)×100(%)図6はコートのセル占有率の表示例を示す。   Occupancy rate = (total functional block or cell area / coat area) × 100 (%) FIG. 6 shows a display example of the cell occupancy rate of the coat.

図6で、コートCa、Cb、Ccのセル占有率はコートCa、Cb、Cc毎に円グラフGa、Gb、Gcで表示される。コートCaは、セル占有率が100%以下の場合を示している。コートCaのセル占有率を示す円グラフGaでは、セル占有率分を青色(梨地)で表示し、他の部分を白抜きで表示している。   In FIG. 6, the cell occupancy rates of the coats Ca, Cb, and Cc are displayed as pie charts Ga, Gb, and Gc for the coats Ca, Cb, and Cc. The coat Ca shows a case where the cell occupation ratio is 100% or less. In the pie chart Ga indicating the cell occupancy of the coat Ca, the cell occupancy is displayed in blue (satin), and the other portions are displayed in white.

また、コートCbは、セル占有率が100%を超えている場合を示している。コートCbのセル占有率を示す円グラフGbでは、セル占有率が100%を超えた分を、セル占有率分を示す青色とは異なる色、例えば、赤色(格子縞)で表示される。   Further, the coat Cb shows a case where the cell occupation rate exceeds 100%. In the pie chart Gb indicating the cell occupancy rate of the coat Cb, the amount of the cell occupancy rate exceeding 100% is displayed in a color different from the blue color indicating the cell occupancy rate, for example, red (checkered).

さらに、コートCcは、セル占有率が200%を超えた場合を示している。コートCcのセル占有率を示す円グラフGcはすべて赤色(格子縞)で表示される。なお、200%を超えた場合に、青、赤以外の色で表示するようにしてもよい。   Furthermore, the coat Cc shows a case where the cell occupation rate exceeds 200%. The pie chart Gc indicating the cell occupancy of the coat Cc is all displayed in red (checkered). In addition, when it exceeds 200%, you may make it display with colors other than blue and red.

上記セル占有率グラフGa、Gb、Gcを参照することにより、各コートCa、Cb、Ccのセル占有率を認識できる。表示されたセル占有率グラフGa、Gb、Gcに基づいてステップS5で設計者により各コードCa、Cb、Ccのセル占有率が基準内か否かがが判断され、セル占有率が基準内になければ、ステップS1又はステップS2に戻って実装ブロックP、コートC、セルBの配置、サイズを基準となるセル占有率となるように調整する。   By referring to the cell occupancy graphs Ga, Gb, Gc, the cell occupancy of each coat Ca, Cb, Cc can be recognized. Based on the displayed cell occupancy graphs Ga, Gb, Gc, in step S5, the designer determines whether the cell occupancy of each code Ca, Cb, Cc is within the standard, and the cell occupancy is within the standard. If not, the process returns to step S1 or step S2, and the arrangement and size of the mounting block P, the coat C, and the cell B are adjusted so as to become the reference cell occupation rate.

次に、実装ブロックP、コートC、セルBの配置、サイズの調整方法について説明する。   Next, a method for adjusting the arrangement and size of the mounting block P, the coat C, and the cell B will be described.

まず、調整を正確に行えるようにするため、セルの配置が不可能な領域を反映して計算したセル占有率をコート内にグラフ表示するようにしてもよい。このとき、セルの配置が不可能な領域を示す表示をコートC内に表示したり、非表示にしたりできるようにしてもよい。   First, in order to perform adjustment accurately, the cell occupancy calculated by reflecting an area where cells cannot be arranged may be displayed in a graph on the court. At this time, a display indicating a region where cells cannot be arranged may be displayed in the coat C or may be hidden.

図7はセルの配置が不可能な領域を反映したグラフ表示を示す図である。   FIG. 7 is a diagram showing a graph display reflecting an area in which cells cannot be arranged.

図7(A)は、電源配線・配置禁止領域を反映させて計算したセル占有率をグラフ表示したもので、コートCa、Cb、Cc内に帯状に電源配線を示す表示及び配置禁止領域を示す表示が行われる。また、例えば、画面上の切替ボタンをクリックすることにより図7(B)に示すようにコートCa、Cb、Cc内の電源配線・配置禁止領域を示す表示が非表示にされる。   FIG. 7A is a graph display of the cell occupancy calculated by reflecting the power supply wiring / placement prohibition area, and shows the display and the placement prohibition area showing the power supply wiring in a strip shape in the coats Ca, Cb, and Cc. Display is performed. Further, for example, when a switching button on the screen is clicked, as shown in FIG. 7B, the display indicating the power supply wiring / placement prohibited areas in the coats Ca, Cb, Cc is hidden.

なお、コート毎に表示、非表示が切り替わるようにしてもよく、また、表示方法も帯状に限定されるものではない。   Note that display or non-display may be switched for each coat, and the display method is not limited to a belt shape.

また、セル占有率グラフを任意の階層ブロック毎に切り替えて表示できるようにしてもよい。   Further, the cell occupancy graph may be switched and displayed for each arbitrary hierarchical block.

図8は階層ブロック毎の切替表示を示す図である。図8(A)は下位の階層のブロックであるコートCa、Cb、Ccのセル占有率を示すグラフGa、Gb、Gc、図8(B)は上位の階層のブロックであるLSIチップT、又は実装ブロックPのセル占有率を示すグラフGT又はGPを含む表示例を示す。   FIG. 8 is a diagram showing a switching display for each hierarchical block. FIG. 8A is a graph Ga, Gb, Gc showing the cell occupancy rates of courts Ca, Cb, Cc, which are lower-level blocks, and FIG. 8B is an LSI chip T, which is a higher-level block, or The example of a display containing the graph GT or GP which shows the cell occupation rate of the mounting block P is shown.

階層ブロックの表示切り替えは、画面上に表示された階層切替ボタンなどをクリックすることで行う。例えば、図8(A)に示すようにLSIチップT又は実装ブロックP内にコートCa、Cb、Cc毎にセル占有率グラフGa、Gb、Gcが表示されていたときに、階層切替ボタンがクリックされると、図8(B)に示すようにLSIチップT又は実装ブロックP全体でのセル占有率グラフGT又はGPが表示される。   Hierarchical block display switching is performed by clicking a hierarchy switching button or the like displayed on the screen. For example, when the cell occupancy graphs Ga, Gb, and Gc are displayed for each of the coats Ca, Cb, and Cc in the LSI chip T or the mounting block P as shown in FIG. Then, as shown in FIG. 8B, a cell occupancy graph GT or GP in the entire LSI chip T or mounting block P is displayed.

また、複数のコートCをまとめることにより実装ブロックPを作成するような編集も可能である。   In addition, editing that creates a mounting block P by combining a plurality of coats C is also possible.

図9は複数のコートをまとめて実装ブロックPを作成する場合の動作を説明するための図を示す。図9(A)はまとめる前の状態、図9(B)まとめた後の状態を示す。   FIG. 9 is a diagram for explaining an operation when a mounting block P is created by collecting a plurality of coats. FIG. 9A shows a state before grouping, and FIG. 9B shows a state after grouping.

図9(A)に示すようにLSIチップT内にコートCa、Cb、Ccを含む複数のコートを設定する。設計者は、まず、一つの実装ブロックにまとめたいコートCa、Cb、Ccを選択する。まとめたいコートCa、Cb、Ccが選択されると、フロアプラン作成・表示処理部41は、図9(B)に示すようにコートCa、Cb、Ccを一つにまとめた実装コートPを作成する。   As shown in FIG. 9A, a plurality of coats including coats Ca, Cb, and Cc are set in the LSI chip T. The designer first selects the coats Ca, Cb, and Cc that are to be combined into one mounting block. When the coats Ca, Cb, and Cc to be combined are selected, the floor plan creation / display processing unit 41 creates a mounting coat P that combines the coats Ca, Cb, and Cc as shown in FIG. 9B. To do.

また、編集作業を容易にするために、各コートに関する情報を表示可能としてもよい。   Further, in order to facilitate editing work, information regarding each court may be displayed.

図10はコート情報の画面表示例を示す図である。図10(A)は実装ブロックPとコートCa、Cb、Ccとの表示画面、図10(B)、(C)はコートCaの情報を表示した画面を示す。   FIG. 10 is a diagram showing a screen display example of court information. FIG. 10A shows a display screen of the mounting block P and the coats Ca, Cb, and Cc, and FIGS. 10B and 10C show screens that display information on the coat Ca.

図10(A)に示す実装ブロックP内に定義された3つのコートCa、Cb、Ccが表示されている画面で、コートCaにポインタを移動すると、図10(B)に示すコートCaに関する情報が表示される。   When the pointer is moved to the court Ca on the screen displaying the three courts Ca, Cb, Cc defined in the mounting block P shown in FIG. 10A, information on the court Ca shown in FIG. Is displayed.

コートCaに関する情報は、上位実装ブロック名情報D1、コートの面積情報D2、セル占有率情報D3、コートに割り付けられている機能ブロックやセル名の情報D4から構成される。この画面を見ることによりコートCaの詳細を知ることができる。   The information on the court Ca is composed of higher-level mounting block name information D1, court area information D2, cell occupancy information D3, and functional block and cell name information D4 allocated to the court. The details of the coat Ca can be known by viewing this screen.

なお、上記図10(B)に示す画面は、図10(A)に示す画面でコートCaにポインタを位置させた場合であり、このままでは、ポインタを移動させると、消去されてしまう。コートの各種編集や評価を行なう際に、この情報画面内の情報D1〜D4を使用するとコートの状況を認識できるので、表示を保持した場合がある。このときには、予め登録しておいたキーボード上のキー、例えば“Z”キーを押下することにより、ポインタが移動しても情報画面にコートCaの情報が表示され続ける。このとき、情報画面は、図10(C)に示すような表示となる。図10(C)に示す情報画面にはLOCK表示DSP1が表示される。LOCK表示DSP1により画面上のデータが保持されていることが設計者に通知される。なお、情報画面を消す場合には、予め登録しておいたキーボード上のキー、例えば“ESC”キーを押下する。   Note that the screen shown in FIG. 10B is a case where the pointer is positioned on the court Ca in the screen shown in FIG. 10A. If the pointer is moved as it is, the screen is erased. When various edits and evaluations of the court are performed, the information D1 to D4 in the information screen can be used to recognize the court situation, so that the display may be retained. At this time, by pressing a key on the keyboard that has been registered in advance, for example, the “Z” key, the information of the coat Ca is continuously displayed on the information screen even if the pointer moves. At this time, the information screen is displayed as shown in FIG. A LOCK display DSP1 is displayed on the information screen shown in FIG. The designer is notified that the data on the screen is held by the LOCK display DSP1. In order to delete the information screen, a key on the keyboard registered in advance, for example, the “ESC” key is pressed.

設計者は、各コートの詳細情報が表示された情報画面を参照して、設計作業を行うことができるため、コートの状態や、周囲の状況などを把握しつつ設計作業を進めることができ、よって、設計作業の効率を向上させることができる。また、他の階層の設計時に不都合が生じることがなくなるため、設計工程の手戻りを解消できる。   Designers can perform design work by referring to the information screen on which detailed information of each court is displayed, so the design work can be advanced while grasping the state of the court and the surrounding situation, Therefore, the efficiency of design work can be improved. In addition, since there is no inconvenience at the time of designing other layers, rework of the design process can be eliminated.

さらに、設計の作業性を向上させるために、パラメータを設定することにより自動的にコートを生成したり、コートのセル占有率を調整したりできるようにしてもよい。   Furthermore, in order to improve the workability of the design, a coat may be automatically generated by setting parameters, or the cell occupancy of the coat may be adjusted.

例えば、コートの面積SCを、機能ブロックやセルのゲート面積SLとコート面積に対するセル面積の目標占有率OT、余裕度R等の面積を決定するパラメータを用いて算出する。パラメータは外部から指定する。なお、特に指定の無い場合はデフォルト値を使用する。ただし、パラメータ間には優先度を設けておく。例えば、目標占有率と余裕度が指定された場合、目標占有率を優先する。 For example, the coat area S C is calculated using parameters that determine the area such as the functional block or cell gate area S L , the target occupancy O T of the cell area with respect to the coat area, and the margin R. The parameter is specified externally. The default value is used unless otherwise specified. However, priorities are set between parameters. For example, when the target occupancy and the margin are specified, the target occupancy is prioritized.

以下が指定されたパラメータを用いてコート面積を計算する式を示す。   The following shows the formula for calculating the coat area using the specified parameters.

目標セル占有率を適用する場合:SC=SL*100/OT 式1 余裕度を適用する場合: SC=SL*R 式2上記式(1)、(2)で算出した面積と指定されたコートの縦横比(特に指定の無い場合は1対1)に基づいて、コートを自動作成する。 When applying the target cell occupancy: When applying the S C = S L * 100 / O T Formula 1 margin: S C = S L * R Formula 2 above formula (1), the area calculated in (2) A coat is automatically created based on the aspect ratio of the designated coat (one-to-one unless otherwise specified).

図11はパラメータ設定によるセル占有率の自動調整について説明するための図を示す。図11(A)は調整前のコートの表示例、図11(B)はパラメータ設定画面例、図11(C)は調整後のコート表示例を示す。   FIG. 11 is a diagram for explaining automatic adjustment of the cell occupancy rate by parameter setting. FIG. 11A shows a display example of a coat before adjustment, FIG. 11B shows a parameter setting screen example, and FIG. 11C shows a coat display example after adjustment.

図11(A)は、縦横の長さがそれぞれLでセル占有率が50%のコートである。コートに割り付けられている機能ブロックやセルを変更せずに、セル占有率を40%にするには、コートの大きさを変更する必要がある。設計者がセル占有率を選択するためのモードを選択すると、図11(B)に示すようなパラメータ設定画面が表示される。設計者によりパラメータ設定画面の占有率を指定するボックスに「40」が入力されると、上記の式(1)によりコートの面積が計算される。計算されたコートの面積から設定された縦横比に応じた矩形が形成される。ここでは、コートの縦横比が1対1なので、図11(C)に示すように縦横の長さがそれぞれ5/4倍され、セル占有率が40%となるコートに自動変更される。   FIG. 11A shows a coat whose length and width are L and the cell occupancy is 50%. In order to make the cell occupation ratio 40% without changing the functional blocks and cells assigned to the court, it is necessary to change the size of the court. When the designer selects a mode for selecting the cell occupancy rate, a parameter setting screen as shown in FIG. 11B is displayed. When “40” is input to the box for designating the occupancy ratio of the parameter setting screen by the designer, the area of the court is calculated by the above equation (1). A rectangle corresponding to the aspect ratio set from the calculated coat area is formed. Here, since the aspect ratio of the coat is 1: 1, as shown in FIG. 11C, the length and width are each multiplied by 5/4, and the coat is automatically changed to a cell occupation ratio of 40%.

以上のようにセル占有率を所望の値に設定するだけでコートのセル占有率を変更したり、所望のセル占有率のコートを生成したりすることができ、設計を効率よく行える。   As described above, the cell occupancy of the coat can be changed or a coat having the desired cell occupancy can be generated simply by setting the cell occupancy to a desired value, thereby enabling efficient design.

また、設計作業を効率よく行うためにコート間での論理セルの移動を可能としてもよい。   In addition, in order to efficiently perform the design work, the logic cell may be moved between the courts.

図12は、コート間での論理セルの移動を説明するための図を示す。図12(A)は移動前の実装ブロックの状態、図12(B)はコートCaの論理のすべてをコートCbに移動した場合の実装ブロックの状態、図12(C)はコートCaの論理アサインリスト、図12(D)はコートCaの論理の一部をコートCbに移動した場合の実装ブロックの状態を示す。   FIG. 12 is a diagram for explaining the movement of the logic cell between the courts. 12A shows the state of the mounting block before movement, FIG. 12B shows the state of the mounting block when all the logic of the court Ca is moved to the court Cb, and FIG. 12C shows the logical assignment of the court Ca. FIG. 12D shows the state of the mounting block when a part of the logic of the court Ca is moved to the court Cb.

コートCaには、図12(A)のグラフGaに示すようなセル占有率で機能ブロックとセルが割り付けられている。コートCbには、論理が何も割り付けられていない。なお、コートCbのサイズは、コートCaより大きいサイズに設定されている。   In the coat Ca, functional blocks and cells are allocated with cell occupancy as shown in the graph Ga in FIG. No logic is assigned to the coat Cb. The size of the coat Cb is set to be larger than the coat Ca.

コートCaに割り付けられているすべての機能ブロックとセルをコートCbに移動するには、設計者は、まず移動コマンドを選択する。次に、移動元コートCa、移動先コートCbの順で選択する。上記操作によりコートCaのすべての機能ブロックとセルがコートCbに移動する。コートCaのすべての機能ブロックとセルがコートCbに移動することにより、コートCbのサイズはコートCaのサイズより大きいため、機能ブロック及びセルのコートCbでの占有率を低下させることができる。   In order to move all functional blocks and cells assigned to the court Ca to the court Cb, the designer first selects a movement command. Next, the source coat Ca and the destination coat Cb are selected in this order. By the above operation, all the functional blocks and cells of the coat Ca are moved to the coat Cb. Since all the functional blocks and cells of the coat Ca move to the coat Cb, the size of the coat Cb is larger than the size of the coat Ca, so that the occupation ratio of the functional blocks and cells in the coat Cb can be reduced.

コートCaに割り付けられている一部の機能ブロックやセルをコートCbに移動させる場合には、図12(C)に示す論理アサインリストを使用する。図12(A)に示す状態で、設計者が移動コマンドを選択し、移動元のコートCaを選択すると、図12(C)に示すコートCaに設定された機能ブロック及びセルの論理アサインリストが表示される。   When moving some of the functional blocks or cells assigned to the court Ca to the court Cb, the logical assignment list shown in FIG. 12C is used. In the state shown in FIG. 12A, when the designer selects the movement command and selects the movement source court Ca, the logical assignment list of the functional blocks and cells set in the court Ca shown in FIG. Is displayed.

設計者は、図12(C)に示す論理アサインリストから移動させたい機能ブロックとセルを選択する。選択された機能ブロック及びセルは、例えば、図12(C)に示すように反転表示される。次に、移動先のコートCbを選択すると、論理アサインリストで指定された機能ブロックとセルがコートCbに移動する。論理アサインリストで指定された機能ブロックとセルがコートCaからコートCbに移動すると、図12(D)に示すようにコートCaのセル占有率が低下し、コートCbのセル占有率が増加する。   The designer selects a functional block and a cell to be moved from the logical assignment list shown in FIG. The selected functional block and cell are displayed in reverse video as shown in FIG. Next, when the destination court Cb is selected, the functional blocks and cells specified in the logical assignment list are moved to the court Cb. When the functional blocks and cells specified in the logical assignment list are moved from the court Ca to the court Cb, the cell occupation ratio of the court Ca is lowered and the cell occupation ratio of the court Cb is increased as shown in FIG.

以上のように必要に応じて論理をコート間でやり取りできるので、セル占有率を容易に調整でき、設計作業の効率を向上させることができる。   As described above, logic can be exchanged between courts as necessary, so that the cell occupancy can be easily adjusted and the efficiency of design work can be improved.

また、機能ブロックとセルのコートへの割付を解除することもできる。   It is also possible to cancel the assignment of functional blocks and cells to the court.

図13は、機能ブロックとセルのコートへの割付を解除する動作を説明するための図を示す。図13(A)は論理解除前の状態、図13(B)はコートCaからすべての論理を解除した後の状態、図13(C)はコートCaの論理アサインリストの表示例、図13(D)はコートCaから論理の一部を解除した後の状態を示す。   FIG. 13 is a diagram for explaining the operation of canceling the assignment of functional blocks and cells to the court. 13A is a state before the logic is released, FIG. 13B is a state after all the logic is released from the court Ca, FIG. 13C is a display example of the logical assignment list of the court Ca, and FIG. D) shows a state after a part of logic is released from the coat Ca.

コートCaに割り付けられたすべての論理を解除するには、設計者は、まず、解除コマンドを選択する。次に、コートCaをダブルクリックすることにより、コートCaのすべての機能ブロックとセルが図13(B)に示すように解除される。   In order to release all logics assigned to the court Ca, the designer first selects a release command. Next, by double-clicking the coat Ca, all the functional blocks and cells of the coat Ca are released as shown in FIG.

また、コートCaに割り付けられている一部の機能ブロックやセルを解除する場合には、論理アサインリストを使用する。図13(A)に示す状態で、解除コマンドを選択し、コートCaを選択すると図13(C)に示すような論理アサインリストが表示される。設計者は、論理アサインリストから解除を行なう機能ブロック及びセルを選択する。選択された機能ブロック及びセルは、図13(C)に示すように反転表示される。次に、コートCaをクリックすると、論理アサインリストで指定した機能ブロック及びセルがコートCaから解除され、図13(D)に示すようにセル占有率が低下して表示される。   In addition, a logical assignment list is used to release some functional blocks and cells allocated to the court Ca. When a cancel command is selected in the state shown in FIG. 13A and coat Ca is selected, a logical assignment list as shown in FIG. 13C is displayed. The designer selects a functional block and a cell to be canceled from the logical assignment list. The selected functional block and cell are displayed in reverse video as shown in FIG. Next, when the court Ca is clicked, the functional blocks and cells specified in the logical assignment list are released from the court Ca, and the cell occupancy is reduced and displayed as shown in FIG.

このように必要に応じてコートCaから機能ブロック及びセルを解除できるので、設計作業を効率よく行える。   In this way, the functional blocks and cells can be released from the coat Ca as necessary, so that the design work can be performed efficiently.

編集時に必要に応じてコートを結合できるようにしてもよい。   Coats may be combined as needed during editing.

図14は複数のコートを結合させる動作を説明するための図を示す。図14(A)は結合前の実装ブロックPの状態、図14(B)は結合後の実装ブロックPの状態を示す。   FIG. 14 is a diagram for explaining the operation of combining a plurality of coats. FIG. 14A shows the state of the mounting block P before joining, and FIG. 14B shows the state of the mounting block P after joining.

実装ブロックPに機能ブロックとセルが割り付けられているコートCa、Cb、Ccを含む複数のコートを有する。   The mounting block P has a plurality of coats including coats Ca, Cb, and Cc to which functional blocks and cells are assigned.

実装ブロックP内の3つのコートCa、Cb、Ccを結合し、1つのコートにする場合は、まず、結合コマンドを選択し、次に結合しようとするコートCa、Cb、Ccを選択する。この時、選択された各コートの頂点座標のうち最大座標(x1、y1)と最小座標(x2、y2)を求め、これら2点を頂点とした矩形領域を結合後の新しいコートCdとする。なお、結合前に3つのコートCa、Cb、Ccに割り付けられている機能ブロックやセルは、新たなコートCdに割り付けられる。   When three coats Ca, Cb, and Cc in the mounting block P are combined into one coat, first, a combination command is selected, and then the coats Ca, Cb, and Cc to be combined are selected. At this time, the maximum coordinates (x1, y1) and the minimum coordinates (x2, y2) are obtained from the vertex coordinates of each selected court, and a rectangular area having these two points as vertices is set as a new coat Cd after combination. Note that the functional blocks and cells assigned to the three coats Ca, Cb, and Cc before the combination are assigned to a new coat Cd.

また、単一のコートを複数のコートに細分化する編集も可能とされている。   In addition, editing can be performed by subdividing a single coat into a plurality of coats.

図15は単一のコートを複数のコートに分割編集する動作を説明するための図を示す。図15(A)は論理がアサインされたコートの分割前の状態、図15(B)はコートを3×3に分割したときのコートイメージ、図15(C)は単一のコートを3×3に分割した後の状態を示す。   FIG. 15 is a diagram for explaining an operation of dividing and editing a single court into a plurality of courts. 15A shows the state before the division of the coat to which logic is assigned, FIG. 15B shows the coat image when the coat is divided into 3 × 3, and FIG. 15C shows the single coat 3 × 3 The state after dividing into three is shown.

図15(A)に示される単一のコートCaを複数のコートCa1〜Ca9に細分割する場合は、設計者は、まず、分割コマンドを選択する。次に、縦横の分割数、または、コートの縦横の長さを指定する。   When the single coat Ca shown in FIG. 15A is subdivided into a plurality of coats Ca1 to Ca9, the designer first selects a division command. Next, the number of vertical and horizontal divisions or the vertical and horizontal length of the coat is designated.

コートの縦方向の分割数と横方向の分割数が指定されると、図15(B)に示すようにコートCaが9個のコートCa1〜Ca9に細分割される。このとき、分割元のコートに機能ブロックが割り付けられている場合には、分割前コート内でパスのレベルソート等のアルゴリズムを用いることにより、図15(B)に示すようにコートCa内に配置されたセルB1〜B9の仮想配置位置を求め、仮想配置位置に最も近い分割後のコートにセルB1〜B9の割り付けを行なう。これにより、各分割コートCa1〜Ca9にセルB1〜B9が割り振られる。割り振られた機能ブロックにより各分割コートCa1〜Ca9のセル占有率が算出され、図15(C)に示すようにセル占有率を示すグラフGa2、Ga3、Ga5、Ga7が表示される。   When the number of coat divisions in the vertical direction and the number of divisions in the horizontal direction are designated, the coat Ca is subdivided into nine coats Ca1 to Ca9 as shown in FIG. At this time, if a functional block is assigned to the division source court, an algorithm such as pass level sorting is used in the pre-division court to arrange it in the court Ca as shown in FIG. The virtual placement positions of the cells B1 to B9 are obtained, and the cells B1 to B9 are assigned to the divided court closest to the virtual placement position. As a result, the cells B1 to B9 are allocated to the divided coats Ca1 to Ca9. The cell occupancy rates of the divided coats Ca1 to Ca9 are calculated from the allocated functional blocks, and graphs Ga2, Ga3, Ga5, Ga7 indicating the cell occupancy rates are displayed as shown in FIG.

また、本実施例では、コート間の重なり、実装ブロックからのはみ出しを容易に補正できる構成とされている。   Further, in this embodiment, the configuration is such that overlap between coats and protrusion from the mounting block can be easily corrected.

図16はコートの重なり及び実装ブロックからのはみ出しを補正する動作を説明するための図を示す。図16(A)はコートCa、Cbが重なった状態、図16(B)はコートCa、Cbが実装ブロックPからはみ出した状態、図16(C)はコートCa、Cbの重なり及び実装ブロックPからのはみ出しが補正された状態を示す。   FIG. 16 is a diagram for explaining the operation for correcting the overlap of the coat and the protrusion from the mounting block. 16A shows a state where the coats Ca and Cb overlap, FIG. 16B shows a state where the coats Ca and Cb protrude from the mounting block P, and FIG. 16C shows an overlap between the coats Ca and Cb and the mounting block P. This shows a state in which the protrusion from the head is corrected.

図16(A)に示すようにコートCaとCbとは重なっている。コートCaとCbの重なりを解消するために、設計者がマニュアルでコートCa、Cbを移動させることにより、図16(B)に示すようにコートCa、Cbの一部が実装ブロックPに重なっており、物理的な正当性が損なわれたとする。このような場合、設計者がチェックコマンドを選択すると、実装ブロックPとコートCa、Cbとの重なりをチェックし、コートCa、Cbの位置を自動補正し、図16(C)に示すように実装ブロックPとコートCa、Cbとの重なりが解消される。   As shown in FIG. 16A, the coats Ca and Cb overlap each other. In order to eliminate the overlap between the coats Ca and Cb, the designer manually moves the coats Ca and Cb, so that the coats Ca and Cb partially overlap the mounting block P as shown in FIG. Suppose that the physical legitimacy is impaired. In such a case, when the designer selects the check command, the overlap between the mounting block P and the coats Ca and Cb is checked, the positions of the coats Ca and Cb are automatically corrected, and the mounting is performed as shown in FIG. The overlap between the block P and the coats Ca and Cb is eliminated.

なお、本実施例のフロアプラン作成・表示処理部41では、パス上のセルの配置も容易に行える。   Note that the floor plan creation / display processing unit 41 of the present embodiment can easily arrange cells on the path.

図17、図18は、パス上のセルの配置方法を説明するための図を示す。図17(A)はセルBa〜Be間のパス、図17(B)はセルBa〜Beの配置、図18(A)は通過点a、bが選択された状態、図18(B)はセルBb、Bc、Bdの配置方法を説明するための図である。   17 and 18 are diagrams for explaining a cell arrangement method on a path. 17A is a path between cells Ba to Be, FIG. 17B is an arrangement of cells Ba to Be, FIG. 18A is a state where passage points a and b are selected, and FIG. It is a figure for demonstrating the arrangement | positioning method of cell Bb, Bc, Bd.

図17(A)に示すようにセルBa〜BeがセルBa→Bb→Bc→Bd→Beの順に接続される。セルBa〜Beは、図17(B)に示すようにセルBaがコートC3に、セルBeがコートC7に、セルBb〜BdがコートC5に割り付けられている。   As shown in FIG. 17A, the cells Ba to Be are connected in the order of cells Ba → Bb → Bc → Bd → Be. In the cells Ba to Be, as shown in FIG. 17B, the cell Ba is assigned to the coat C3, the cell Be is assigned to the coat C7, and the cells Bb to Bd are assigned to the coat C5.

パスの開始の機能ブロックCaが割り付けられているコートC3とパスの終了の機能ブロックCeが割り付けられているコートC7とを結ぶパスが最短になるコートC3との頂点aとコートC7の頂点bが通過座標点として選択される。図18(A)に示すようにパスの始点となるセルBaはコートC3の中央に仮想配置され、パスの終点となるセルBeはコートC7の中央に仮想配置される。   The vertex a of the court C3 and the vertex b of the court C7 that have the shortest path connecting the court C3 to which the path start functional block Ca is allocated and the court C7 to which the path end functional block Ce is allocated are Selected as a passing coordinate point. As shown in FIG. 18A, the cell Ba that is the starting point of the path is virtually arranged in the center of the coat C3, and the cell Be that is the end point of the path is virtually arranged in the center of the coat C7.

また、パスが通過するコートC5に設けられたセルBb、Bc、Bdは、図18(B)に示すように通過点aと通過点bとを結ぶ線分上に始点側から終点側に等間隔に仮想配置される。   Further, the cells Bb, Bc, Bd provided on the coat C5 through which the path passes are, for example, from the start point side to the end point side on the line segment connecting the passing point a and the passing point b as shown in FIG. Virtually placed at intervals.

次に、分岐を有するパスが設定されている場合の機能ブロックの仮想配置方法について説明する。   Next, a virtual block placement method for functional blocks when a path having branches is set will be described.

図19〜図21は、分岐するパス上のセルの配置方法を説明するための図である。   19 to 21 are diagrams for explaining a cell arrangement method on a branching path.

図19(A)はセルBa〜Bg間のパス、図19(B)はセルBa〜Bgの配置、図20(A)はパスに応じてセルBa〜Beが仮想配置された状態、図20(B)はセルBb〜Bf、Bgを仮想配置する方法を説明するための図、図21はすべてのセルBa〜Bgが仮想配置された状態を示す。   19A is a path between cells Ba to Bg, FIG. 19B is an arrangement of cells Ba to Bg, FIG. 20A is a state in which cells Ba to Be are virtually arranged according to the path, FIG. (B) is a diagram for explaining a method of virtually arranging cells Bb to Bf and Bg, and FIG. 21 shows a state in which all cells Ba to Bg are virtually arranged.

図19(A)に示すようにセルBa〜Beは、メインパスによりセルBa→Bb→Bc→Bd→Beの順に接続される。また、図19(A)に示すようにセルBb、Bf、Bgは、分岐されたパスによりセルBb→Bf→Bgの順に接続される。   As shown in FIG. 19A, the cells Ba to Be are connected in the order of cells Ba → Bb → Bc → Bd → Be through the main path. As shown in FIG. 19A, the cells Bb, Bf, and Bg are connected in the order of the cells Bb → Bf → Bg through the branched path.

セルBa〜Bgは、図19(B)に示すようにセルBaがコートC3に、セルBeがコートC7に、セルBb〜BdがコートC5に割り付けられ、セルBf、BgがコートC6に割り付けられている。   As shown in FIG. 19B, cells Ba to Bg are assigned to coat C3, cell Be is assigned to coat C7, cells Bb to Bd are assigned to coat C5, and cells Bf and Bg are assigned to coat C6. ing.

セルBa〜Beは、図17、図18で説明した仮想配置方法により仮想配置される。なお、このとき、仮想配置の優先順位は距離の長いパスが優先される。   The cells Ba to Be are virtually arranged by the virtual arrangement method described with reference to FIGS. At this time, a path with a long distance is given priority in the priority of virtual placement.

セルBf、Bgを仮想配置する場合には、まず、セルBf、Bgが割り付けられているコートC6の通過点座標を求める。ここで分岐元セルBbの仮配置位置は既に決定しているため、通過点座標cは、セルBbの仮配置位置と、セルBf、Bgが割り付けられているコートC6との位置関係で決定する通過点座標cは、例えば、セルBbのコートC6に近接した頂点とコートC6の中心位置とを結ぶ線分とコートC6の外周との交点に設定される。次に、セルBf及びセルBgを通過点座標cとコートC6との中心座標とを結ぶ線分上に均等に配置する。以上により、図21に示すようにセルBa〜Bgが仮想配置される。   When the cells Bf and Bg are virtually arranged, first, the pass point coordinates of the court C6 to which the cells Bf and Bg are assigned are obtained. Here, since the temporary arrangement position of the branch source cell Bb has already been determined, the passing point coordinate c is determined by the positional relationship between the temporary arrangement position of the cell Bb and the court C6 to which the cells Bf and Bg are allocated. The passing point coordinates c are set, for example, at the intersection of a line segment connecting the apex of the cell Bb close to the coat C6 and the center position of the coat C6 and the outer periphery of the coat C6. Next, the cells Bf and Bg are evenly arranged on a line segment connecting the passing point coordinates c and the center coordinates of the court C6. As described above, the cells Ba to Bg are virtually arranged as shown in FIG.

以上のようにして、実装ブロックP、コートC、セルBのサイズや配置が設定される。   As described above, the size and arrangement of the mounting block P, the coat C, and the cell B are set.

ここで、再び、図4に戻って説明を続ける。   Here, returning to FIG. 4 again, the description will be continued.

上記のような調整によりステップS5で、セル占有率が基準内になると、ステップS6でディレイの計算が行われる。ステップS6で計算されたディレイに基づいてステップS7でパスディレイリストを出力装置13に表示するとともに、ステップS8でパス経路を出力装置13に表示する。   When the cell occupancy falls within the standard in step S5 by the adjustment as described above, the delay is calculated in step S6. Based on the delay calculated in step S6, the path delay list is displayed on the output device 13 in step S7, and the path route is displayed on the output device 13 in step S8.

図22にディレイの計算及び表示方法を説明するための図を示す。図22(A)はパス経路を示し、図22(B)はディレイリストを示す。   FIG. 22 is a diagram for explaining a delay calculation and display method. FIG. 22A shows a path route, and FIG. 22B shows a delay list.

図22では、セルBa〜Beの間のディレイを計算し、表示する例について説明する。   FIG. 22 illustrates an example in which the delay between the cells Ba to Be is calculated and displayed.

セルBaとセルBb、セルBbとセルBc、セルBcとセルBd、セルBdとセルBeの各機能ブロック間のネット線長を接続関係にある機能ブロックの接続関係のあるピン座標を使用することによりマンハッタン長を用いて求める。求められたマンハッタン長によりネットディレイ、ゲートディレイを既存のテクノロジ固有の計算式に当てはめて計算し、例えば、図22(A)に示すようにパスの経路を表示するとともに、図22(B)に示すような詳細ディレイリストを表示する。   Use the pin coordinates of the functional blocks that are connected to each other in terms of the net line length between the functional blocks of cell Ba and cell Bb, cell Bb and cell Bc, cell Bc and cell Bd, and cell Bd and cell Be. Using the Manhattan length. The net delay and gate delay are calculated by applying the calculated Manhattan length to the formulas specific to the existing technology. For example, the path route is displayed as shown in FIG. Display the detailed delay list as shown.

図22(B)において、Tlineはネットディレイを、Tcellはゲートディレイを、Totalは累積ディレイを表す。   In FIG. 22B, Tline represents a net delay, Tcell represents a gate delay, and Total represents an accumulated delay.

図22(B)に示すディレイリストにより設計者は、ステップS9でディレイが基準値を超えたか否かを判断する。ステップS9で基準値を超えてないければ、所望の回路速度が得られるため、処理を終了する。また、ステップS9で基準値を越えれば、ステップS10でセルBa、Bb、Bc、Bd、Beやセルが含まれる機能ブロックを他のコートに移動させることにより、ディレイが基準値を超えないようにする。   Based on the delay list shown in FIG. 22B, the designer determines whether or not the delay exceeds the reference value in step S9. If the reference value is not exceeded in step S9, the desired circuit speed is obtained, and the process is terminated. Also, if the reference value is exceeded in step S9, the delay does not exceed the reference value by moving the function block including the cells Ba, Bb, Bc, Bd, Be and the cell to another court in step S10. To do.

図23、図24はセルBcの移動を行うための動作説明図を示す。図23(A)は複数パスの接続関係及びパス上のセルBa〜Beの割り付け例である。   23 and 24 are diagrams for explaining the operation for moving the cell Bc. FIG. 23A shows an example of the connection relation of a plurality of paths and the allocation of cells Ba to Be on the path.

図23(A)では、セルBa→Bb→Bd→Beが接続されているパスと、セルBa→Bb→Bcが接続されているパスの2パスが存在する。なお、セルBaはコートC9に、セルBbはコートC5に、セルBcはコートC4に、セルBd、BeはコートC3に割り付けられている。   In FIG. 23A, there are two paths: a path where cells Ba → Bb → Bd → Be are connected and a path where cells Ba → Bb → Bc are connected. Cell Ba is assigned to coat C9, cell Bb is assigned to coat C5, cell Bc is assigned to coat C4, and cells Bd and Be are assigned to coat C3.

セルBcをコートC4からコートC8に移動させ、図17〜図21に示す仮配置方法により再仮配置を行った場合、パスの長さが大きい方が優先して配置されるため、セルBa→Bb→Bd→Beの仮配置が先に行われる。これにより図23(B)に示すようにセルBbがコートC5内で右方向に移動する。これに伴い、セルBa→Bb間、セルBb→Bd間のネット線長が変化する。この結果として、セルBa→Bb→Bd→Beのディレイが変化する。これでは、所望のディレイを得るために機能ブロックを移動させた結果、他のパスのディレイが変化し、所望のディレイが得られなくなる可能性があり、設計が複雑になる。   When the cell Bc is moved from the court C4 to the court C8 and re-temporary placement is performed by the provisional placement method shown in FIGS. 17 to 21, since the path having a larger length is preferentially placed, the cell Ba → The temporary arrangement of Bb → Bd → Be is performed first. As a result, as shown in FIG. 23B, the cell Bb moves to the right in the coat C5. Accordingly, the net line length between the cells Ba → Bb and between the cells Bb → Bd changes. As a result, the delay of the cells Ba → Bb → Bd → Be changes. In this case, as a result of moving the functional block in order to obtain a desired delay, the delay of another path may change, and the desired delay may not be obtained, which complicates the design.

そこで、セルBcが移動しても、セルBa→Bb→Bd→Beのディレイが変化しないようにする必要がある。このためには、セルBcの移動によって、セルBbの移動が起こらないようにする必要がある。   Therefore, even if the cell Bc moves, it is necessary to prevent the delay of the cells Ba → Bb → Bd → Be from changing. For this purpose, it is necessary to prevent the movement of the cell Bb due to the movement of the cell Bc.

セルBcの移動によって、セルBbの移動が起こらないようにするためには、図24に示すようにコートC5内のセルBbが存在する位置にごく狭いコートC10を設定し、コートC10にセルBbを割り付ける。コートC10にセルBbを割り付けることにより、セルBbはごく狭いコートC10内でしか移動できない、すなわち、移動しなくなる。これにより、セルBcの移動によるセルBa→Bb間及びセルBb−Bd間の線長の変化がなくなるため、セルBa→Bb→Bd→Beのディレイは、移動前と変化がなく、セルBc−Bbのディレイだけを調整できるようになる。   In order to prevent the movement of the cell Bb by the movement of the cell Bc, as shown in FIG. 24, a very narrow coat C10 is set at a position where the cell Bb in the coat C5 exists, and the cell Bb is set in the coat C10. Is assigned. By assigning the cell Bb to the coat C10, the cell Bb can move only within the very narrow coat C10, that is, does not move. As a result, there is no change in the line length between the cells Ba → Bb and between the cells Bb−Bd due to the movement of the cell Bc, so the delay of the cells Ba → Bb → Bd → Be is unchanged from that before the movement, and the cell Bc− Only the delay of Bb can be adjusted.

以上のようにしてセルBcを移動させ、ディレイを基準値を超えないように調整する。   The cell Bc is moved as described above, and the delay is adjusted so as not to exceed the reference value.

調整後、ステップS3に戻ってセル占有率をチェックした後、再びディレイをチェックする。   After the adjustment, the process returns to step S3 to check the cell occupancy and then check the delay again.

従来は、数十万ゲートの実装ブロックがフロアプランでの処理単位となっていたが、本実施例では回路規模に応じて仮想配置領域、すなわち、コートをLSIチップT内や実装ブロックP内に作成することにより、処理単位が数万ゲート以下となり、フロアプランでのセル占有率及びディレイなどのタイミング解析を高精度に行なうことができる。   Conventionally, mounting blocks of hundreds of thousands of gates have been processing units in the floor plan. However, in this embodiment, a virtual layout area, that is, a coat is placed in the LSI chip T or the mounting block P according to the circuit scale. As a result, the processing unit becomes tens of thousands of gates or less, and timing analysis such as cell occupancy and delay in the floor plan can be performed with high accuracy.

これにより、設計者が意図したレイアウトイメージをフロアプラン段階で実現することが可能となり、実装設計後に発生するタイミング問題の原因を設計初期段階で究明することが可能となる。よって、設計時の手戻りを最小限に抑制することができる。このため、設計の効率化が図れる。また、ディレイが十分に考慮されるため、LSI回路の品質向上に大きく貢献するものである。
(付記1)
所定の階層毎にブロックを設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、前記所定階層のブロック設定し、配置するブロック配置処理部と、前記所定階層とは異なる階層のブロックを前記所定階層上に仮想配置する領域割付処理部と、前記所定階層及び下位階層のブロックの配置状態を評価するブロック評価処理部とを有することを特徴とする集積回路設計装置。
(付記2)
前記ブロック評価処理部は、前記下位階層のブロックの面積がその上位階層のブロックの面積に占める割合を算出する面積比計算部を有することを特徴とする付記1記載の集積回路設計装置。
(付記3)
前記面積比計算部は、少なくとも配線及び配線禁止領域を反映することを特徴とする付記2記載の集積回路設計装置。
(付記4)
前記ブロック評価処理部は、前記面積比計算部で算出された面積比を図形により表示することを特徴とする付記2又は3記載の集積回路設計装置。
(付記5)
前記ブロック評価処理部は、前記ブロック間の経路のディレイを算出するディレイ計算処理部を有することを特徴とする付記1又は2記載の集積回路設計装置。
(付記6)
前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイのうち基準値を超えたパスを表示することを特徴とする付記5記載の集積回路設計装置。
(付記7)
前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイが前記基準値を超えたパスをリスト表示するパスリスト表示処理部を有することを特徴とする付記6記載の集積回路設計装置。
(付記8)
前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイが前記基準値を超えたパスの経路を表示するパス経路表示処理部を有することを特徴とする付記6又は7記載の集積回路設計装置。
(付記9)
前記ブロックを再編集可能としたことを特徴とする付記1乃至8のいずれか一項記載の集積回路設計装置。
(付記10)
前記ブロックの位置の正当性を判断し、前記ブロックが正当な位置となるように前記ブロックの位置を補正する補正部を有することを特徴とする付記1乃至9のいずれか一項記載の集積回路設計装置。
(付記11)
所定の階層毎にブロックを設定し、配置することにより集積回路の設計を行う集積回路設計方法であって、前記所定の階層のブロックを設定し、配置するブロック配置処理手順と、前記所定階層とは異なる階層のブロックを前記所定階層上に仮想配置するブロック割付処理手順と、前記所定階層及び下位階層のブロックの配置状態を評価するブロック評価処理手順とを有することを特徴とする集積回路設計方法。
(付記12)
前記ブロック評価処理手順は、前記下位の階層のブロックの面積がその上位の階層のブロックの面積に占める割合を算出することを特徴とする付記11記載の集積回路設計方法。
(付記13)
前記面積比の計算は、少なくとも配線及び配線禁止領域を反映することを特徴とする付記12記載の集積回路設計方法。
(付記14)
前記ブロック評価処理手順は、算出された面積比を図形により表示することを特徴とする付記12又は13記載の集積回路設計方法。
(付記15)
前記ブロック評価処理手順は、前記ブロック間の経路のディレイを算出することを特徴とする付記11乃至14のいずれか一項記載の集積回路設計方法。
(付記16)
前記ブロック評価処理手順は、計算されたディレイのうち基準値を超えたパスを表示することを特徴とする付記15記載の集積回路設計方法。
(付記17)
前記ブロック評価処理手順は、計算されたディレイが前記基準値を超えたパスをリスト表示することを特徴とすることを特徴とする付記16記載の集積回路設計方法。
(付記18)
前記ブロック評価処理手順は、計算されたディレイが前記基準値を超えたパスの経路を表示することを特徴とする付記16又は17記載の集積回路設計方法。
(付記19)
前記ブロックを再編集可能としたことを特徴とする付記11乃至18のいずれか一項記載の集積回路設計方法。
(付記20)
前記ブロックの位置の正当性を判断し、前記ブロックが正当な位置となるように前記ブロックの位置を補正することを特徴とする付記11乃至19のいずれか一項記載の集積回路設計方法。
(付記21)
所定の階層毎にブロックを設定し、配置することにより集積回路の設計を行う集積回路設計プログラムであって、前記所定の階層にブロックを設定し、配置するブロック配置処理手順と、前記所定階層とは異なる階層のブロックを前記所定階層上に仮想配置するブロック割付処理手順と、前記所定階層及び下位階層のブロックの配置状態を評価するブロック評価処理手順とを有することを特徴とするコンピュータで実行可能なプログラム。
(付記22)
前記ブロック評価処理手順は、前記下位の階層のブロックの面積がその上位の階層のブロックの面積に占める割合を算出することを特徴とする付記21記載のプログラム。
(付記23)
前記面積比の計算は、少なくとも配線及び配線禁止領域を反映することを特徴とする付記22記載のプログラム。
(付記24)
前記ブロック評価処理手順は、算出された面積比を図形により表示することを特徴とする付記22又は23記載のプログラム。
(付記25)
前記ブロック評価処理手順は、前記ブロック間の経路のディレイを算出することを特徴とする付記21乃至24のいずれか一項記載のプログラム。
(付記26)
前記ブロック評価処理手順は、計算されたディレイのうち基準値を超えたパスを表示することを特徴とする付記25記載のプログラム。
(付記27)
前記ブロック評価処理手順は、計算されたディレイが前記基準値を超えたパスをリスト表示することを特徴とすることを特徴とする付記26記載のプログラム。
(付記28)
前記ブロック評価処理手順は、計算されたディレイが前記基準値を超えたパスの経路を表示することを特徴とする付記26又は27記載のプログラム。
(付記29)
前記ブロックを編集可能としたことを特徴とする付記21乃至28のいずれか一項記載のプログラム。
(付記30)
前記ブロックの位置の正当性を判断し、前記第1〜第3ブロックが正当な位置となるように前記ブロックの位置を補正することを特徴とする付記21乃至29のいずれか一項記載のプログラム。
As a result, the layout image intended by the designer can be realized at the floor plan stage, and the cause of the timing problem that occurs after mounting design can be investigated at the initial stage of design. Therefore, rework during design can be suppressed to a minimum. For this reason, design efficiency can be improved. In addition, since the delay is sufficiently considered, it greatly contributes to the improvement of the quality of the LSI circuit.
(Appendix 1)
An integrated circuit design apparatus for designing an integrated circuit by setting and arranging blocks for each predetermined hierarchy, wherein a block arrangement processing unit for setting and arranging blocks in the predetermined hierarchy is different from the predetermined hierarchy An integrated circuit design apparatus comprising: an area allocation processing unit that virtually arranges a block of a hierarchy on the predetermined hierarchy; and a block evaluation processing part that evaluates an arrangement state of the block of the predetermined hierarchy and a lower hierarchy.
(Appendix 2)
2. The integrated circuit design apparatus according to claim 1, wherein the block evaluation processing unit includes an area ratio calculation unit that calculates a ratio of the area of the lower layer block to the area of the upper layer block.
(Appendix 3)
The integrated circuit design apparatus according to appendix 2, wherein the area ratio calculation unit reflects at least a wiring and a wiring prohibited area.
(Appendix 4)
4. The integrated circuit design apparatus according to appendix 2 or 3, wherein the block evaluation processing unit displays the area ratio calculated by the area ratio calculation unit as a graphic.
(Appendix 5)
3. The integrated circuit design apparatus according to appendix 1 or 2, wherein the block evaluation processing unit includes a delay calculation processing unit that calculates a delay of a path between the blocks.
(Appendix 6)
6. The integrated circuit design apparatus according to claim 5, wherein the block evaluation processing unit displays a path exceeding a reference value among delays calculated by the delay calculation processing unit.
(Appendix 7)
7. The integrated circuit design apparatus according to appendix 6, wherein the block evaluation processing unit includes a path list display processing unit that displays a list of paths in which the delay calculated by the delay calculation processing unit exceeds the reference value.
(Appendix 8)
The integrated circuit according to claim 6 or 7, wherein the block evaluation processing unit includes a path route display processing unit that displays a path of a path whose delay calculated by the delay calculation processing unit exceeds the reference value. Design equipment.
(Appendix 9)
9. The integrated circuit design device according to any one of appendices 1 to 8, wherein the block can be re-edited.
(Appendix 10)
The integrated circuit according to any one of appendices 1 to 9, further comprising a correction unit that determines the correctness of the position of the block and corrects the position of the block so that the block is in a valid position. Design equipment.
(Appendix 11)
An integrated circuit design method for designing an integrated circuit by setting and arranging blocks for each predetermined hierarchy, the block arrangement processing procedure for setting and arranging the blocks of the predetermined hierarchy, and the predetermined hierarchy Has a block allocation processing procedure for virtually arranging blocks of different hierarchies on the predetermined hierarchy, and a block evaluation processing procedure for evaluating the arrangement status of the blocks of the predetermined hierarchy and lower hierarchy. .
(Appendix 12)
12. The integrated circuit design method according to claim 11, wherein the block evaluation processing procedure calculates a ratio of the area of the block of the lower hierarchy to the area of the block of the upper hierarchy.
(Appendix 13)
13. The integrated circuit design method according to appendix 12, wherein the calculation of the area ratio reflects at least a wiring and a wiring prohibited area.
(Appendix 14)
14. The integrated circuit design method according to appendix 12 or 13, wherein the block evaluation processing procedure displays the calculated area ratio as a graphic.
(Appendix 15)
15. The integrated circuit design method according to claim 11, wherein the block evaluation processing procedure calculates a delay of a path between the blocks.
(Appendix 16)
16. The integrated circuit design method according to claim 15, wherein the block evaluation processing procedure displays a path exceeding a reference value among the calculated delays.
(Appendix 17)
The integrated circuit design method according to claim 16, wherein the block evaluation processing procedure displays a list of paths in which the calculated delay exceeds the reference value.
(Appendix 18)
18. The integrated circuit design method according to appendix 16 or 17, wherein the block evaluation processing procedure displays a path of a path whose calculated delay exceeds the reference value.
(Appendix 19)
The integrated circuit design method according to any one of appendices 11 to 18, wherein the block can be re-edited.
(Appendix 20)
The integrated circuit design method according to any one of appendices 11 to 19, wherein the correctness of the position of the block is determined, and the position of the block is corrected so that the block becomes a valid position.
(Appendix 21)
An integrated circuit design program for designing an integrated circuit by setting and arranging blocks for each predetermined hierarchy, the block arrangement processing procedure for setting and arranging blocks in the predetermined hierarchy, and the predetermined hierarchy Can be executed by a computer comprising: a block allocation processing procedure for virtually arranging blocks of different hierarchies on the predetermined hierarchy; and a block evaluation processing procedure for evaluating the arrangement status of the blocks of the predetermined hierarchy and lower hierarchy Program.
(Appendix 22)
The program according to claim 21, wherein the block evaluation processing procedure calculates a ratio of an area of the block in the lower hierarchy to an area of the block in the upper hierarchy.
(Appendix 23)
The program according to appendix 22, wherein the calculation of the area ratio reflects at least wiring and a wiring prohibited area.
(Appendix 24)
24. The program according to appendix 22 or 23, wherein the block evaluation processing procedure displays the calculated area ratio as a graphic.
(Appendix 25)
The program according to any one of appendices 21 to 24, wherein the block evaluation processing procedure calculates a delay of a path between the blocks.
(Appendix 26)
The program according to claim 25, wherein the block evaluation processing procedure displays a path exceeding a reference value in the calculated delay.
(Appendix 27)
27. The program according to claim 26, wherein the block evaluation processing procedure displays a list of paths for which the calculated delay exceeds the reference value.
(Appendix 28)
28. The program according to appendix 26 or 27, wherein the block evaluation processing procedure displays a path of a path whose calculated delay exceeds the reference value.
(Appendix 29)
29. The program according to any one of appendices 21 to 28, wherein the block is editable.
(Appendix 30)
30. The program according to any one of appendices 21 to 29, wherein the validity of the position of the block is determined, and the position of the block is corrected so that the first to third blocks are valid positions. .

なお、本発明は上記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形例が考えられることは言うまでもない。   In addition, this invention is not limited to the said Example, It cannot be overemphasized that a various modified example can be considered in the range which does not deviate from the summary of this invention.

本発明の一実施例のブロック構成図である。It is a block block diagram of one Example of this invention. 集積回路設計プログラムの機能ブロック図である。It is a functional block diagram of an integrated circuit design program. 機能ブロック、実装ブロック、仮想配置領域(コート)、パスを説明するための図である。It is a figure for demonstrating a functional block, a mounting block, a virtual arrangement | positioning area | region (coat), and a path | pass. 本発明の一実施例の設計方法のフローチャートである。It is a flowchart of the design method of one Example of this invention. 実装ブロック及びコートの作成を説明するための図である。It is a figure for demonstrating creation of a mounting block and a coat | court. コートのセル占有率の表示例を示す図である。It is a figure which shows the example of a display of the cell occupation rate of a coat. セルの配置が不可能な領域を反映したグラフ表示を示す図である。It is a figure which shows the graph display reflecting the area | region where arrangement | positioning of a cell is impossible. 階層ブロック毎の切替表示を示す図である。It is a figure which shows the switching display for every hierarchy block. 複数のコートをまとめる場合の動作を説明するための図である。It is a figure for demonstrating the operation | movement in the case of putting together a some court. コート情報の画面表示例を示す図である。It is a figure which shows the example of a screen display of court information. パラメータ設定によるセル占有率の自動調整について説明するための図である。It is a figure for demonstrating the automatic adjustment of the cell occupation rate by parameter setting. コート間での論理セルの移動を説明するための図である。It is a figure for demonstrating the movement of the logic cell between coat | courts. 機能ブロックとセルのコートへの割付を解除する動作を説明するための図である。It is a figure for demonstrating the operation | movement which cancels | releases allocation to the block of a functional block and a cell. 複数のコートを結合させる動作を説明するための図である。It is a figure for demonstrating the operation | movement which couple | bonds several coats. 単一のコートを複数のコートに分割編集する動作を説明するための図である。It is a figure for demonstrating the operation | movement which divides and edits a single court into a some court. コートの重なり及び実装ブロックからのはみ出しを補正する動作を説明するための図である。It is a figure for demonstrating the operation | movement which correct | amends the overlap of a coat and the protrusion from a mounting block. パス上のセルの配置方法を説明するための図である。It is a figure for demonstrating the arrangement | positioning method of the cell on a path | pass. パス上のセルの配置方法を説明するための図である。It is a figure for demonstrating the arrangement | positioning method of the cell on a path | pass. 分岐するパス上のセルの配置方法を説明するための図である。It is a figure for demonstrating the arrangement | positioning method of the cell on the path | route which branches. 分岐するパス上のセルの配置方法を説明するための図である。It is a figure for demonstrating the arrangement | positioning method of the cell on the path | route which branches. 分岐するパス上のセルの配置方法を説明するための図である。It is a figure for demonstrating the arrangement | positioning method of the cell on the path | route which branches. ディレイの計算及び表示方法を説明するための図である。It is a figure for demonstrating the calculation and display method of a delay. セルを他のコートに移動するための動作説明図を示す。Operation | movement explanatory drawing for moving a cell to another court is shown. セルを他のコートに移動するための動作説明図を示す。Operation | movement explanatory drawing for moving a cell to another court is shown.

符号の説明Explanation of symbols

1 集積回路設計装置
11 データ処理装置
12 入力装置
13 出力装置
21 ハードディスクドライブ
22 RAM
23 CPU
24 可換式記憶装置
25 通信装置
31 集積回路設計プログラム
41 フロアプラン作成・表示処理部
42 機能ブロック割付処理部
43 面積比率計算処理部
44 パスディレイ計算処理部
45 パスリスト表示処理部
46 パス経路表示処理部
DESCRIPTION OF SYMBOLS 1 Integrated circuit design apparatus 11 Data processing apparatus 12 Input apparatus 13 Output apparatus 21 Hard disk drive 22 RAM
23 CPU
24 exchangeable storage device 25 communication device 31 integrated circuit design program 41 floor plan creation / display processing unit 42 functional block allocation processing unit 43 area ratio calculation processing unit 44 path delay calculation processing unit 45 path list display processing unit 46 path route display Processing part

Claims (8)

チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、
記コートを所定実装ブロックに配置するブロック配置処理部と、
能ブロックを前記コートに配置する領域割付処理部と、
前記所定実装ブロック、及び、前記所定実装ブロックに対して下位となり、配置される下位階層のコートの配置状態を評価するブロック評価処理部とを有し、
前記ブロック評価処理部は、前記領域割付処理部による前記機能ブロックの前記コートへの配置に伴い、前記下位階層の機能ブロックの面積が前記所定実装ブロックに配置されたコートの面積に占める割合を算出し、算出された前記機能ブロックと前記コートとの面積の割合を前記コート毎に図形により表示する集積回路設計装置。
An integrated circuit design apparatus for designing an integrated circuit by setting and arranging a coat, which is a virtual layout area obtained by dividing a mounting block, from a designer for each of a plurality of mounting blocks which are areas obtained by dividing a chip area. Because
A block arrangement unit for arranging before constant mounting blocks where the logger over bets,
An area allocation processing section for placement of the functional blocks in the copolymers over preparative,
The predetermined mounting block, and a block evaluation processing unit that evaluates an arrangement state of a lower layer coat that is lower than the predetermined mounting block,
The block evaluation processing unit calculates a ratio of the area of the functional block in the lower layer to the area of the court arranged in the predetermined mounting block in accordance with the placement of the functional block on the court by the area allocation processing unit. An integrated circuit design apparatus that displays the calculated area ratio between the functional block and the coat as a graphic for each coat.
前記ブロック評価処理部は、切替の入力に応じて、面積比を表示する前記実装ブロック又は前記コートの階層を切り替える請求項1記載の集積回路設計装置。 The integrated circuit design device according to claim 1, wherein the block evaluation processing unit switches the mounting block displaying the area ratio or the layer of the coat in accordance with a switching input. 前記ブロック評価処理部は、算出した前記機能ブロックと前記コートの面積比に応じて、前記機能ブロックと前記コートとの面積比を示す図形を視覚的に区別して表示する請求項1又は2記載の集積回路設計装置。 The said block evaluation process part displays the figure which shows the area ratio of the said functional block and the said coat visually distinguishing according to the calculated area ratio of the said functional block and the said court. Integrated circuit design equipment. チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、
記コートを所定実装ブロックに配置するブロック配置処理部と、
能ブロックを、前記コートに、配置する領域割付処理部と、
前記所定実装ブロック、及び、前記所定実装ブロックに対して下位階層となり、配置される下位階層のコートの配置状態を評価するブロック評価処理部とを有し、
前記ブロック評価処理部は、前記領域割付処理部による前記機能ブロックの前記コートへの配置に伴い、前記下位階層の機能ブロックの面積が、前記所定実装ブロックに配置されたコートの面積に占める割合を算出する面積比計算部と、
前記算出された前記機能ブロックと前記コートの面積比が基準内であるか否かを判別し、基準内であると判別された場合に配置された下位階層のコート間の経路におけるディレイを算出するディレイ計算処理部とを有する集積回路設計装置。
An integrated circuit design apparatus for designing an integrated circuit by setting and arranging a coat, which is a virtual layout area obtained by dividing a mounting block, from a designer for each of a plurality of mounting blocks which are areas obtained by dividing a chip area. Because
A block arrangement unit for arranging a predetermined mounting block before Kiko over preparative,
The functional blocks, before Kiko over preparative, an area allocation processing unit to place,
The predetermined mounting block, and a block evaluation processing unit that evaluates an arrangement state of a coat of a lower hierarchy that is a lower hierarchy with respect to the predetermined mounting block,
The block evaluation processing unit determines a ratio of the area of the functional block in the lower hierarchy to the area of the court arranged in the predetermined mounting block in accordance with the arrangement of the functional block on the court by the area allocation processing unit. An area ratio calculation unit to calculate,
It is determined whether or not the calculated area ratio between the functional block and the court is within a reference, and when it is determined that the area ratio is within the reference, a delay in a path between lower-layer courts arranged is calculated. An integrated circuit design apparatus having a delay calculation processing unit.
前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイが前記基準値を超えたパスを表示する請求項4記載の集積回路設計装置。 5. The integrated circuit design apparatus according to claim 4, wherein the block evaluation processing unit displays a path in which the delay calculated by the delay calculation processing unit exceeds the reference value. 前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイが前記基準値を超えたパスをリスト表示するパスリスト表示処理部を有する請求項5記載の集積回路設計装置。 6. The integrated circuit design apparatus according to claim 5, wherein the block evaluation processing unit includes a path list display processing unit that displays a list of paths in which the delay calculated by the delay calculation processing unit exceeds the reference value. 前記ブロック評価処理部は、前記ディレイ計算処理部で計算されたディレイが前記基準値を超えたパスの経路を表示するパス経路表示処理部を有する請求項5又は6記載の集積回路設計装置。 7. The integrated circuit design apparatus according to claim 5, wherein the block evaluation processing unit includes a path route display processing unit that displays a path of a path whose delay calculated by the delay calculation processing unit exceeds the reference value. チップ領域を分割した領域である複数の実装ブロック毎に、実装ブロックを分割した仮想配置領域であるコートを入力手段により設計者から設定し、配置することにより集積回路の設計を行う集積回路設計装置であって、
前記集積回路の実装ブロック内に、コートを設定するブロック配置処理部と、
能ブロックを前記コート上に配置する領域割付処理部と、
前記領域割付処理部による前記機能ブロックの前記コートへの配置に伴い、前記コート上に配置された前記機能ブロック間の経路におけるディレイを算出するディレイ計算処理部とを有する集積回路設計装置。
An integrated circuit design apparatus for designing an integrated circuit by setting and arranging a coat, which is a virtual layout area obtained by dividing a mounting block, from a designer for each of a plurality of mounting blocks which are areas obtained by dividing a chip area. Because
A block arrangement processing unit for setting a coat in a mounting block of the integrated circuit;
An area allocation processing section for placement on the front Symbol coated functional blocks,
An integrated circuit design apparatus comprising: a delay calculation processing unit that calculates a delay in a path between the functional blocks arranged on the court in accordance with the arrangement of the functional blocks on the court by the area allocation processing unit .
JP2008027368A 2008-02-07 2008-02-07 Integrated circuit design equipment Expired - Fee Related JP4617363B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008027368A JP4617363B2 (en) 2008-02-07 2008-02-07 Integrated circuit design equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008027368A JP4617363B2 (en) 2008-02-07 2008-02-07 Integrated circuit design equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001266401A Division JP2003076734A (en) 2001-09-03 2001-09-03 Apparatus for design of integrated circuit, method therefor and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009005080A Division JP4429371B2 (en) 2009-01-13 2009-01-13 Integrated circuit design equipment

Publications (2)

Publication Number Publication Date
JP2008176798A JP2008176798A (en) 2008-07-31
JP4617363B2 true JP4617363B2 (en) 2011-01-26

Family

ID=39703726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008027368A Expired - Fee Related JP4617363B2 (en) 2008-02-07 2008-02-07 Integrated circuit design equipment

Country Status (1)

Country Link
JP (1) JP4617363B2 (en)

Also Published As

Publication number Publication date
JP2008176798A (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP6254190B2 (en) Display congestion indicators for channels in the circuit design layout
JP4644614B2 (en) Layout editor device, wiring display method, and wiring display program
JP5145116B2 (en) Surface defect data display management apparatus and surface defect data display management method
US8661371B1 (en) Method and apparatus for fixing double patterning color-seeding violations
CN108335356B (en) Automatic generation method of three-dimensional model of subway station
TWI284817B (en) Schematic diagram generation and display system
TWI470463B (en) Floorplanning method for an analog integrated circuit layout
US20080018665A1 (en) System and method for visualizing drawing style layer combinations
US20160154924A1 (en) Semiconductor design method and computer-readable recording medium
US9208277B1 (en) Automated adjustment of wire connections in computer-assisted design of circuits
CN102722349B (en) A kind of image processing method based on Geographic Information System and system
JP2003076734A (en) Apparatus for design of integrated circuit, method therefor and program
KR20160069008A (en) Project management system based information and communication technology
JP4617363B2 (en) Integrated circuit design equipment
JP4429371B2 (en) Integrated circuit design equipment
US7962884B2 (en) Floorplanning apparatus and computer readable recording medium storing floorplanning program
TWI746271B (en) Scada web hmi system
US8775983B1 (en) Layout fixing guideline system for double patterning odd cycle violations
JP5051036B2 (en) Multilayer substrate analysis apparatus, multilayer substrate analysis program and method
CN102609554A (en) Computer-aided design method and device for large LED (light-emitting diode) screens
JP4595454B2 (en) Production process organizing apparatus and method
JP4081555B1 (en) Fluid flow analysis method, fluid flow analysis system, and program for causing a computer to function as a fluid flow analysis system
JP4184590B2 (en) Circuit board mounting cost evaluation method and apparatus
US20060076547A1 (en) Three-dimensional viewing and editing of microcircuit design
JP3087669B2 (en) Design support system for semiconductor integrated circuits

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090408

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090420

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090515

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees