+

WO2000060660A1 - Method for designing semiconductor device and computer-readable recording medium - Google Patents

Method for designing semiconductor device and computer-readable recording medium Download PDF

Info

Publication number
WO2000060660A1
WO2000060660A1 PCT/JP1999/001729 JP9901729W WO0060660A1 WO 2000060660 A1 WO2000060660 A1 WO 2000060660A1 JP 9901729 W JP9901729 W JP 9901729W WO 0060660 A1 WO0060660 A1 WO 0060660A1
Authority
WO
WIPO (PCT)
Prior art keywords
design data
design
designing
computer
semiconductor device
Prior art date
Application number
PCT/JP1999/001729
Other languages
French (fr)
Japanese (ja)
Inventor
Kazuhiko Eguchi
Toshiyuki Majima
Teruya Tanaka
Kenji Oshima
Original Assignee
Hitachi, 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 Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP1999/001729 priority Critical patent/WO2000060660A1/en
Publication of WO2000060660A1 publication Critical patent/WO2000060660A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Definitions

  • FIG. 16 is an explanatory diagram showing an example of a membership function and fuzzy variables
  • Fig. 17 is a configuration diagram showing an example of an experimental software system
  • Fig. 18 is a configuration diagram showing a hardware system example
  • Figure 19 is an explanatory diagram showing an example of inference in the early generations
  • Fig. 20 is an explanatory diagram showing an example of initial placement by fuzzy inference
  • Fig. 21 is an explanatory diagram showing an example of an individual by genetic algorithm
  • Figs. 22 to 24 are examples of experimental results of fuzzy inference and genetic algorithm.
  • FIG. 25 is a graph showing an example of progress of costs
  • FIGS. 26 to 28 are explanatory diagrams showing examples of logical cluster division.
  • Fig. 5 shows a model of the arrangement of objects.
  • Fig. 5 (a) shows the shape and netlist of block 1
  • Fig. 5 (b) shows the chip area.
  • rectangular blocks 1 are shown connected by wiring paths.
  • the aspect ratio and dimensions of each rectangular block 1 are also shown.
  • This figure also shows semiconductor chips whose dimensions and aspect ratios correspond to each other.
  • the basic operation is as follows.
  • FIG. 16 shows the membership functions and fuzzy variables used in the experimental software.
  • the parameters for the fuzzy variables are determined based on the knowledge of the skilled technician.
  • Block 1 (A) is created by connecting Block 1 (B) and Block 1 (C).
  • Block 1 (B, C) is a lower-level block. It is created by connecting 1.
  • An example of such a hierarchical relationship is shown in Fig. 26, for example.
  • a to Z represent logic elements (block 1).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

A method for designing a semiconductor device, by which better initial values at starting floor plan design and logical cluster division can be obtained whether the designer is skilled or not, and especially, better initial values at starting complex designing can be obtained even if the designer is a beginner of semiconductor chip designing. According to a software for such semiconductor designing, a main controller (11) causes the functions, such as fuzzy inference (12) and generic algorithm (13), to operate and outputs a report containing drawings through result output (14). The function of the fuzzy inference (12) reads parameters and input data, judges whether or not parameter adjustment is necessary, adjusts parameters if parameter adjustment is necessary, and infers blocks to be arranged in the center and corners of a chip (S1701 to S1704). From the result of inference, the generic algorithm (13) produces an early generation and repeats selection, cross over, mutation, elite conservation, and natural selection (S1705, S1706), obtains a group of design data on optimal solutions, and arranges blocks on a semiconductor chip.

Description

明 細 書 半導体装置の設計方法及びコンピュータ読み取り可能な記録媒体 技術分野  TECHNICAL FIELD Design method of semiconductor device and computer-readable recording medium
本発明は、 半導体装置の設計技術に関し、 特に V L S I (Very Large Scale Integration) などの集積回路を実装する半導体チップ設計の初心者に対して、 複 雑な設計の開始段階でよい初期条件を与えることができる半導体装置の設計方法、 およびその設計方法を実現するためのプログラムを記録したところのコンビユー タ読み取り可能な記録媒体に適用して有効な技術に関する。 背景技術  The present invention relates to a semiconductor device design technique, and in particular, to provide a novice of a semiconductor chip design for mounting an integrated circuit such as a VLSI (Very Large Scale Integration) to provide good initial conditions at the start of a complex design. The present invention relates to a design method of a semiconductor device that can be used, and a technique that is effective when applied to a computer-readable recording medium that records a program for realizing the design method. Background art
本発明者が検討した技術として、 V L S Iなどの集積回路を実装する半導体装 置の設計は、システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 これにより得られた設計データに基づいて集積回路を論理ゲートレベルで論理設 計を行う論理設計工程と、 これにより得られた設計データに基づいて論理ゲート をトランジスタレベルで回路設計を行う回路設計工程と、 論理設計工程により得 られた設計データと、 回路設計工程により得られた設計データとに基づいて論理 ゲートの配置 ·配線を行うレイァゥト設計工程などを含み、 設計技術者によりシ ステム仕様を満足するように前記各設計工程が進められ、 以降の製造 ·試験工程 を経て半導体装置が完成されるようになつている。  As a technology studied by the present inventors, the design of a semiconductor device on which an integrated circuit such as a VLSI is mounted is based on a function design process of designing the function of the integrated circuit based on system specifications and a design data obtained by the process. Logic design process for designing an integrated circuit at the logic gate level, and circuit design process for designing the logic gates at the transistor level based on the design data obtained by the logic design process. Each design process includes a layout design process for arranging and routing logic gates based on the design data and the design data obtained in the circuit design process.The design engineers proceed with each of the above design processes to satisfy the system specifications. As a result, the semiconductor device is completed through the subsequent manufacturing and testing processes.
たとえば、 前記レイアウト設計工程において、 V L S Iのフロアプランとは、 V L S Iチップ上における機能ブロックの概略相対配置を決めることである。 い わゆるスタンダードセルと呼ばれる、 プリミティブな論理構成要素であるセル ( N A N Dゲート、 N O Rゲート、 フリ ップフロップなど) によって構成されるラ ンダムロジック回路の配置問題は、 長年に渡る、 数多くの研究者の努力により極 めて高度に自動化されており、 かつそれをインプリメントした有効な E D A ( Electronic Design Automation) ツーノレ力 レヽくつ力、商品ィ匕されてレヽる。  For example, in the layout design process, the VLSI floor plan is to determine the approximate relative arrangement of the functional blocks on the VLSI chip. The layout problem of random logic circuits composed of cells (NAND gates, NOR gates, flip-flops, etc.), which are primitive logic components called so-called standard cells, has been a long-standing effort of many researchers. It is extremely highly automated by this technology, and the effective EDA (Electronic Design Automation) tool that implements it is used as a tool.
しかし、 近年の高度な V L S Iはスタンダードセルの部分だけではなく、 大き なメモリブロック、 C P Uモジュール、 数多くの周辺機器のブロック、 時にはァ ナログモジュールなども搭載する。 従って、 これらのブロックの相対配置を決め るフロアプランは、 最終的なチップのサイズと性能を決定付ける重要な設計工程 となっている。 既に、 いくつかのフロアプランツールが商品化されており、 これ らはチップ設計を支援する有益な情報を提供してユーザーフレンドリーなフロア プラン操作の環境を提供するが、 基本的には編集ツールである。 However, advanced VLSIs in recent years have not only It is equipped with various memory blocks, CPU modules, blocks for many peripheral devices, and sometimes analog modules. Therefore, the floorplan for determining the relative placement of these blocks is an important design step that determines the final chip size and performance. Already, several floorplanning tools have been commercialized, which provide useful information to support chip design and provide a user-friendly floorplanning environment, but are basically editing tools. is there.
実際の設計現場では、 このフロアプランの配置判断はいまだに設計者の洞察力 に頼っている。 そして、 その結果 「誰が」 やったかに強く依存する。 かつ、 この 作業は手間がかかる仕事であり、 一般的に熟練技術者はより短い時間で、 初心者 あるいはまだ経験が十分でない技術者よりよい結果を与える。 しかし、 熟練技術 者であっても設計完了までに要する時間は最初にどんな情報が与えられたかに依 存する。 非熟練技術者の場合は、 設計結果である最終チップの設計品質、 設計完 了までに要する時間もどのような初期値が与えられたかに強く依存する。  On the actual design floor, this floor plan placement decision still relies on the designer's insight. And, as a result, it depends heavily on who did it. And this is a tedious task, with skilled technicians generally giving better results in less time than novice or less experienced technicians. However, the time required to complete a design, even for a skilled technician, depends on what information was initially provided. In the case of unskilled engineers, the design quality of the final chip, which is the result of the design, and the time required to complete the design also strongly depend on what initial values are given.
そこで、 前記のような V L S Iのフロアプランについて、 本発明者が検討した 結果を以下に示す。 すなわち、 本発明においては、 自動設計によって一度に最終 設計結果を与えることよりも、 熟練技術者、 非熟練技術者を問わず、 フロアブラ ン設計開始に当たってのよりよい初期値を与えるにはどうしたらよいかを主眼と する。 このアプローチとして、  Thus, the results of the present inventors' examination of the above-described VLSI floor plan are shown below. That is, in the present invention, it is better to give a better initial value at the start of floor blanking design for skilled engineers and unskilled engineers than to give the final design result at once by automatic design. Is the main focus. As this approach,
( 1 ) 最適化処理手法 (たとえば遺伝的アルゴリズム) によりグローバル最適化 問題として解くことを試みた。  (1) We tried to solve it as a global optimization problem by an optimization processing method (for example, a genetic algorithm).
( 2 ) 実際の設計現場には熟練技術者の知見とノウハウがいっぱいあるが、 言語 以前の形態で伝えられているものも多い。 これらを自然言語の形である程度整理 し、 フアジィルール化を試みた。  (2) The actual design site has a lot of knowledge and know-how of skilled engineers, but many of them are transmitted in a pre-language form. We arranged these to some extent in the form of natural language and tried to create a fuzzy rule.
( 3 ) 前項で得られたフアジィルールを基にマクロなプロックの初期配置の推論 を試みた。 全部のブロックをフアジィ推論で求めるのはルールの複雑化とパラメ (3) Based on the fuzzy rules obtained in the previous section, we tried to infer the initial placement of macro blocks. Finding all blocks by fuzzy inference requires complicated rules and parameters.
—タ調整の困難化を招き現実性から遠ざかる。 しかし、 いくつかの決定優先度の 高いプロックはファジィ推論で十分決定できる有意性を確かめた。 —It will make it difficult to adjust the data and move away from reality. However, some high-priority blocks were determined to be significant enough to be determined by fuzzy inference.
( 4 ) 前項のフアジィ推論で求めた配置情報を遺伝的アルゴリズムの初期データ 生成に応用し、 フアジィ推論で実用的に決定できるプロックはそのままにして、 ファジィ推論で配置決定することに有意性が少ない、 または無いプロックは遺伝 的ァルゴリズムの最適化問題解決に任せる手法を考えた。 (4) Apply the placement information obtained by the fuzzy inference in the previous section to the initial data generation of the genetic algorithm, and leave the block that can be practically determined by the fuzzy inference as it is. We considered a method in which a block that has little or no significance in deciding the placement by fuzzy inference is left to the optimization problem solving of the genetic algorithm.
( 5 ) 上記 (1 ) か ( 4 ) 項をインプリメントする実験プログラムを開発し、 計算機実験を行い、 対象例によっては熟練技術者の設計結果に迫る結果を得るこ とができた。  (5) An experimental program that implements the above (1) or (4) was developed, and computer experiments were performed. In some cases, results approaching the design results of a skilled engineer could be obtained.
詳細は後述するように、 この例では、 3種類の例題について、 熟練技術者によ る設計結果と遺伝的アルゴリズムだけによる結果、 初期世代の生成にフアジィ推 論を採用した結果の比較を示す。 遺伝的アルゴリズムだけの場合は、 熟練技術者 による結果とはまだ大きな開きがあるが、 フアジィ推論との組み合わせでは人間 が設計した結果に近い結果を得ることもできる見通しを得た。 たとえば、 遺伝的 アルゴリズムなどの最適化処理手法だけを用いた技術としては、 特開平 1 0— 2 7 5 1 7 5号公報に記載される技術などがある。  As will be described in detail later, in this example, a comparison of the design results by a skilled engineer, the results obtained using only genetic algorithms, and the results obtained by using fuzzy inference for the generation of the initial generation is shown for three types of examples. In the case of the genetic algorithm alone, there is still a large difference from the results obtained by skilled engineers, but in combination with the fuzzy inference, it is possible to obtain results close to those designed by humans. For example, as a technique using only an optimization processing technique such as a genetic algorithm, there is a technique described in Japanese Patent Laid-Open No. 10-275175.
そこで、 本発明の目的は、 フロアプラン設計、 さらに論理クラスタ分割の開始 に当たってのよりよい初期値を与えることができ、 特に半導体チップ設計などの 複雑な設計の開始段階でよい初期条件を与えることができる半導体装置の設計方 法、 さらにこの設計方法をプログラムとして記憶したコンピュータ読み取り可能 な記録媒体を提供するものである。  Therefore, an object of the present invention is to provide a better initial value at the start of floor plan design and further at the start of logical cluster division, and particularly to provide a good initial condition at the start of a complex design such as a semiconductor chip design. It is an object of the present invention to provide a method of designing a semiconductor device that can be used, and a computer-readable recording medium storing the design method as a program.
本発明の前記ならぴにその他の目的と新規な特徴は、 本明細書の記述およぴ添 付図面から明らかになるであろう。 発明の開示  The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings. Disclosure of the invention
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、 次のとおりである。  The following is a brief description of an outline of typical inventions among the inventions disclosed in the present application.
本発明によれば、 前記 (1 ) 〜 (5 ) のアプローチに基づき、 遺伝的アルゴリ ズムなどの最適化処理手法と、 熟練技術者の知見とノウハウのフアジィルール化 によるフアジィ推論とを採用した設計方法が提供される。  According to the present invention, based on the above-mentioned approaches (1) to (5), a design method employing an optimization processing method such as a genetic algorithm and a fuzzy inference based on knowledge of a skilled engineer and fuzzy rule conversion of know-how. Is provided.
次に、 さらに具体的に述べていくことにする。  Next, it will be described more specifically.
本発明は、システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 これにより得られた設計データに基づいて集積回路を論理ゲートレベルで論理設 計を行う論理設計工程と、 これにより得られた設計データに基づいて論理ゲ一ト をトランジスタレベルで回路設計を行う回路設計工程と、 論理設計工程により得 られた設計データと、 回路設計工程により得られた設計データとに基づいて論理 ゲートの配置 ·配線を行うレイァゥト設計工程と、 を含む半導体装置の設計方法 に、 たとえば適用される。 The present invention provides a function design step of designing a function of an integrated circuit based on system specifications, and logically setting an integrated circuit at a logic gate level based on design data obtained thereby. A logic design process for performing logic planning, a circuit design process for designing a logic gate at a transistor level based on the design data obtained thereby, a design data obtained from the logic design process, and a circuit design process. For example, the present invention is applied to a semiconductor device design method including a late design process of arranging and wiring logic gates based on the obtained design data.
すなわち、 本発明の一例による半導体装置の設計方法では、 前記各設計工程の 設計データの作成において、 フアジィ推論を用いて複数の設計データ群を作成す る工程と、 乱数的に複数の設計データ群を作成する工程と、 前記各工程により作 成された複数の設計データ群に基づいて、 最適化処理手法を用いて適合度の高い 設計データ群を選択する工程と、 この選択された設計データ群に基づいて、 最適 化処理手法を用いてさらに次の複数の設計データ群の作成を適合度の高い設計デ 一タ群を選択しながら順次繰り返して、 最適解となる設計データ群を作成するェ 程が設けられる。  That is, in the method of designing a semiconductor device according to an example of the present invention, in the creation of design data in each of the design steps, a step of creating a plurality of design data groups using fuzzy inference; And a step of selecting a design data group having a high degree of conformity using an optimization processing method based on the plurality of design data groups created in each of the above steps; and a step of selecting the selected design data group. Based on the above, the following multiple design data groups are created by using an optimization processing method and sequentially repeated while selecting a design data group with a high degree of conformity, to create a design data group that provides an optimal solution. Process is provided.
また、 本発明による他の半導体装置の設計方法では、 前記各設計工程の設計デ —タの作成において、 フアジィ推論を用いて最適解となる一部分の設計データ群 を作成する工程と、 乱数的に複数の設計データ群を作成する工程と、 この作成さ れた複数の設計データ群に基づいて、 最適化処理手法を用いて適合度の高い設計 データ群を選択する工程と、 この選択された設計データ群に基づいて、 最適化処 理手法を用いてさらに次の複数の設計データ群の作成を適合度の高い設計データ 群を選択しながら順次繰り返して、 最適解となる他部分の設計データ群を作成す る工程が設けられる。  Also, in another method of designing a semiconductor device according to the present invention, in the creation of the design data in each of the design steps, a step of creating a partial design data group that becomes an optimal solution using fuzzy inference; A step of creating a plurality of design data groups, a step of selecting a design data group having a high degree of conformity using an optimization processing method based on the created plurality of design data groups, and a step of selecting the selected design data groups. Based on the data group, the next multiple design data groups are created using the optimization processing technique and are sequentially repeated while selecting the design data group with a high degree of conformity. The step of creating the is provided.
さらに、 本発明は、 前記半導体装置の設計方法をコンピュータに実行させるた めのプログラムを記録した、 コンピュータ読み取り可能な記録媒体をも提供する ものである。  Further, the present invention also provides a computer-readable recording medium in which a program for causing a computer to execute the method for designing a semiconductor device is recorded.
特に、 本発明は、 前記レイアウト設計工程におけるフロアプランニングに適用 し、 最適化処理手法として遺伝的アルゴリズムを用い、 遺伝的アルゴリズムの初 期の設計データ群をフアジィ推論を用いて生成し、 最適解となる設計データ群を 用いて複数のブロックを半導体チップ上に配置するものである。 さらに、 このフ ロアプランニングにおけるコーディング、 評価関数、 突然変異、 フアジィ推論に ついては、 それぞれ後述において詳細する特徴を有するものである。 また、 本発明は、 前記論理設計工程における論理クラスタ分割に適用し、 最適 化処理手法として遺伝的アルゴリズムを用い、 遺伝的アルゴリズムの初期の設計 データ群をフアジィ推論を用いて生成し、 最適解となる設計データ群を用いて複 数のブロックをクラスタに分割するものである。 さらに、 この論理クラスタ分割 におけるフアジィ推論、 評価関数については、 それぞれ後述において詳細する特 徴を有するものである。 In particular, the present invention is applied to floor planning in the layout design process, uses a genetic algorithm as an optimization processing method, generates an initial design data group of the genetic algorithm using fuzzy inference, and generates an optimal solution. A plurality of blocks are arranged on a semiconductor chip using different design data groups. In addition, coding, evaluation functions, mutation, and fuzzy inference in this floor planning Each of them has characteristics described in detail below. Further, the present invention is applied to the logical cluster division in the logical design process, using a genetic algorithm as an optimization processing method, generating an initial design data group of the genetic algorithm using fuzzy inference, and Multiple blocks are divided into clusters using different design data groups. Further, the fuzzy inference and the evaluation function in this logical cluster division have characteristics which will be described in detail later.
本願において開示される発明のうち、 代表的なものによって得られる効果を簡 単に説明すれば、 以下のとおりである。  The effects obtained by typical aspects of the invention disclosed in the present application will be briefly described as follows.
( 1 ) 本発明の半導体装置の設計方法、 コンピュータ読み取り可能な記録媒体に よれば、 遺伝的アルゴリズムなどの最適化処理手法と、 技術者の知見とノウハウ のフアジィルール化によるフアジィ推論とが採用され、 レイアウト設計工程のフ ロアプランニングへ適用されることにより、 フロアプラン設計開始に当たっての よりよい初期値を与えることができるようになる。 特に、 半導体チップ設計の初 心者などに対して、 複雑な設計の開始段階でよい初期条件を与えることが可能と なる。  (1) According to the semiconductor device design method and the computer-readable recording medium of the present invention, an optimization processing method such as a genetic algorithm and a fuzzy inference based on the fuzzy rules of the knowledge and know-how of engineers are adopted. By being applied to floor planning in the layout design process, it is possible to provide better initial values at the start of floor plan design. In particular, it becomes possible to give good initial conditions to a beginner of a semiconductor chip design at the start of a complicated design.
( 2 ) 本発明の半導体装置の設計方法、 コンピュータ読み取り可能な記録媒体に よれば、 遺伝的アルゴリズムなどの最適化処理手法と、 技術者の知見とノウハウ のフアジィルール化によるフアジィ推論とが採用され、 論理設計工程の論理クラ スタ分割へ適用されることにより、 論理クラスタの分割に当たってのよりよい初 期値を与えることができるようになる。 特に、 半導体チップ設計の初心者などに 対して、 複雑な設計の開始段階でよい初期条件を与えることが可能となる。  (2) According to the semiconductor device design method and the computer-readable recording medium of the present invention, an optimization processing method such as a genetic algorithm and fuzzy inference based on the fuzzy rules of engineers' knowledge and know-how are adopted. By being applied to the logical cluster division in the logical design process, it is possible to provide a better initial value for dividing the logical cluster. In particular, it is possible to give good initial conditions to a beginner of a complex design for a beginner of semiconductor chip design and the like.
( 3 ) この結果、 本発明によれば、 レイアウト設計工程のフロアプランニング、 論理設計工程の論理クラスタ分割において、 よりよい初期状態によるフロアブラ ンニングと論理クラスタ分割とを提供することができるので、 熟練技術者、 非熟 練技術者を問わず、 半導体装置の設計における最終半導体チップの設計効率と設 計品質との両面でよりよい効果を得ることができる自動設計を実現することが可 能となる。 図面の簡単な説明 (3) As a result, according to the present invention, floorplanning and logical cluster division in a better initial state can be provided in floor planning in a layout design step and logical cluster division in a logical design step. It is possible to realize an automatic design that can obtain better effects in both the design efficiency and the design quality of the final semiconductor chip in the design of a semiconductor device, regardless of whether it is a skilled person or an unskilled engineer. BRIEF DESCRIPTION OF THE FIGURES
図 1は本発明の一実施の形態である半導体装置の設計方法を示すフロー図、 図 2は本実施の形態の半導体装置において、 フロアプランニング例を示す説明図、 図 3は遺伝的アルゴリズムを示すフロー図、図 4はコーディング例を示す説明図、 図 5は配置モデル例を示す説明図、 図 6は評価関数の評価項目例を示す説明図、 図 7は突然変異例を示す説明図、図 8から図 1 0はテストデータ例を示す説明図、 図 1 1から図 1 3は遺伝的アルゴリズムの実験結果例を示す説明図、 図 1 4およ ぴ図 1 5はフアジィ推論のルール例を示す説明図、 図 1 6はメンバーシップ関数 例とフアジィ変数例を示す説明図、 図 1 7は実験的ソフトウェアのシステム例を 示す構成図、 図 1 8はハードウェアのシステム例を示す構成図、 図 1 9は初期世 代の推論例を示す説明図、図 2 0はファジィ推論による初期配置例を示す説明図、 図 2 1は遺伝的アルゴリズムによる個体例を示す説明図、 図 2 2から図 2 4はフ アジィ推論と遺伝的アルゴリズムの実験結果例を示す説明図、 図 2 5はコストの 経過例を示すグラフ、 図 2 6から図 2 8は論理クラスタ分割例を示す説明図、 で ある。 発明を実施するための最良の形態  FIG. 1 is a flowchart showing a method of designing a semiconductor device according to an embodiment of the present invention. FIG. 2 is an explanatory diagram showing an example of floor planning in the semiconductor device of this embodiment. FIG. 3 shows a genetic algorithm. Fig. 4 is an explanatory diagram showing a coding example, Fig. 5 is an explanatory diagram showing an example of an arrangement model, Fig. 6 is an explanatory diagram showing an example of evaluation items of an evaluation function, and Fig. 7 is an explanatory diagram showing a mutation example. Figures 8 to 10 are explanatory diagrams showing examples of test data, Figures 11 to 13 are explanatory diagrams showing examples of experimental results of the genetic algorithm, and Figures 14 and 15 show examples of rules for fuzzy inference. Fig. 16 is an explanatory diagram showing an example of a membership function and fuzzy variables, Fig. 17 is a configuration diagram showing an example of an experimental software system, Fig. 18 is a configuration diagram showing a hardware system example, Figure 19 is an explanatory diagram showing an example of inference in the early generations Fig. 20 is an explanatory diagram showing an example of initial placement by fuzzy inference, Fig. 21 is an explanatory diagram showing an example of an individual by genetic algorithm, and Figs. 22 to 24 are examples of experimental results of fuzzy inference and genetic algorithm. FIG. 25 is a graph showing an example of progress of costs, and FIGS. 26 to 28 are explanatory diagrams showing examples of logical cluster division. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 本発明の実施の形態を図 1〜図 2 8の図面に基づいて詳細に説明する。 なお、 実施の形態を説明するための全図において同一の部材には同一の符号を付 し、 その繰り返しの説明は省略する。  Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings of FIGS. In all of the drawings for describing the embodiments, the same members are denoted by the same reference numerals, and a repeated description thereof will be omitted.
まず、 図 1により本実施の形態の半導体装置の設計方法の一例を説明する。 本実施の形態の半導体装置の設計方法は、 たとえば V L S Iチップの設計方法 とされ、 システム仕様に基づいて集積回路の機能設計を行う機能設計工程 (S 1 0 1 ) と、 これにより得られた設計データに基づいて集積回路を論理ゲートレべ ルで論理設計を行う論理設計工程 (S 1 0 2 ) と、 これにより得られた設計デー タに基づいて論理ゲートをトランジスタレベルで回路設計を行う回路設計工程 ( S 1 0 3 ) と、 論理設計工程により得られた設計データと、 回路設計工程により 得られた設計データとに基づいて論理ゲートの配置 ·配線を行うレイァゥト設計 工程 (S 1 0 4 ) などからなり、 これらの設計工程により得られた設計データに 基づいてチップ製造工程 (S I 05) が行われ、 さらにパッケージング 'テステ イング工程 (S 106) を経て半導体装置が完成されるようになっている。 First, an example of a method for designing a semiconductor device according to the present embodiment will be described with reference to FIG. The method of designing a semiconductor device according to the present embodiment is, for example, a method of designing a VLSI chip, and includes a function design step (S 101) of designing a function of an integrated circuit based on system specifications, A logic design process (S102) for performing a logic design of an integrated circuit at the logic gate level based on data, and a circuit design for designing a logic gate at a transistor level based on the design data obtained thereby. A step (S104), a layout design step (S104) for arranging and routing logic gates based on the design data obtained in the logic design step and the design data obtained in the circuit design step. The design data obtained by these design processes The chip manufacturing process (SI 05) is performed based on this, and the semiconductor device is completed through the packaging and testing process (S 106).
本実施の形態においては、 各設計工程の設計データを作成する際に、 遺伝的ァ ルゴリズムなどの最適化処理手法と、 熟練技術者の知見とノゥハウのフアジィル ール化によるフアジィ推論とを用いて、 フアジィ推論で求めた配置情報を遺伝的 アルゴリズムの初期データ生成に応用し、 フアジィ推論で実用的に決定できるブ ロックはそのままにして、 フアジィ推論で配置決定することに有意性が少ない、 または無いプロックは遺伝的アルゴリズムの最適化問題解決に任せる手法を採用 したものである。  In the present embodiment, when creating design data for each design process, optimization processing methods such as genetic algorithms and fuzzy inference based on knowledge of skilled engineers and know-how fuzzy rules are used. Applying the location information obtained by fuzzy inference to the initial data generation of the genetic algorithm, leaving blocks that can be practically determined by fuzzy inference as it is, and making little or no significance in determining the location by fuzzy inference Plock adopts a method that leaves it to the optimization problem solving of the genetic algorithm.
次に、 ステップ S 104のレイアウト設計工程におけるフロアプランニングに 適用した一例を、 たとえば図 2に示すように、 内部領域に各ブロック 1 (#0〜 #9) が配置され、 その周辺部に I ZOバッファ 2が配置されるような VL S I チップの配置 '配線について、 各項目別に順に説明する。 ここでは、 3種類の例 題について、 遺伝的アルゴリズム、 フアジィ推論を用いた例を示す。  Next, an example of application to floor planning in the layout design process of step S104 is shown in FIG. 2, for example, as shown in FIG. 2, each block 1 (# 0 to # 9) is arranged in the internal area, and IZO The layout and wiring of the VL SI chip where the buffer 2 is placed will be described in order for each item. Here, we show examples of three types of examples using genetic algorithms and fuzzy inference.
1. 遺伝的アルゴリズムによるフロアプランニング 1. Floor planning by genetic algorithm
この遺伝的アルゴリズムの ED Aに対する幾つかの例は、 主としてこのアルゴ リズムの最適化の能力および局所的最適化を回避する能力を目的物として得るこ とができる。 ここでは、 遺伝的アルゴリズムの VL S I設計のフロアプランニン グ段階での応用を提案することにより、 半導体チップの設計の初心者であっても 複雑な設計工程の開始時点において、 よりよい初期条件を与えられるようにする 技術である。  Some examples of EDA of this genetic algorithm can mainly obtain the ability to optimize this algorithm and the ability to avoid local optimization. Here, by applying the genetic algorithm to the VLSI design floorplanning stage, even a beginner in semiconductor chip design can give better initial conditions at the start of a complex design process. It is a technique to make.
この遺伝的アルゴリズムの一般的な手順は、たとえば図 3に一例を示すように、 まず、 初期世代を設定し (S 301) 、 評価関数による適合度を評価する (S 3 02) 。 そして、 次の世代への、 エリート保存 (S 303) 、 選択 Z交差 (S 3 04) 、 突然変異 (S 305) 、 淘汰 (S 306) を終了条件まで繰り返して行 う (S 307) 。 終了条件に達したことで終了となる。  As a general procedure of this genetic algorithm, for example, as shown in an example in FIG. 3, first, an initial generation is set (S301), and the fitness by the evaluation function is evaluated (S302). Then, elite preservation (S303), selection Z crossover (S304), mutation (S305), and selection (S306) for the next generation are repeated until the termination condition (S307). The process ends when the end condition is reached.
1. 1. コーディング 1. 1. Coding
コーディングとは、染色体と目的とする最適化問題との対応付けのことである。 この例に関するコーディング方式を、 たとえば図 4に示す。 図 4 (a) はチップ の内部領域に配置されるブロック 1、 図 4 (b) は染色体の構造を表す。 ここで、 各ブロック 1の寸法を示す幅を W、 高さを Hとして、 その中心の X— Y座標を ( X i, Y i ) 、 回転を R iとする。 たとえば R i = 0の場合は縦長、 R i = 1の 場合は横長の形状とする。 Coding is the association between a chromosome and a target optimization problem. The coding scheme for this example is shown in Figure 4, for example. Figure 4 (a) shows the tip Block 1, located in the internal region of Fig. 4, shows the structure of the chromosome. Here, the width indicating the size of each block 1 is W, the height is H, the XY coordinates of the center are (Xi, Yi), and the rotation is Ri. For example, when R i = 0, the shape is portrait, and when R i = 1, the shape is landscape.
まず、 図に示すような X— Y座標を定義する。 この場合、 ブロック 1の回転も 考慮する。 3個の染色体を用意し、 これらをそれぞれ X染色体、 Y染色体、 回転 染色体とする。 図 4に示されている (X0, YO) に位置し、 回転 (R) が 0の ブロック 1 (#0) を以下に示すように表す。  First, define the XY coordinates as shown in the figure. In this case, the rotation of block 1 is also considered. Prepare three chromosomes, and call them X chromosome, Y chromosome, and rotating chromosome. Block 1 (# 0) located at (X0, YO) shown in Fig. 4 and having zero rotation (R) is represented as shown below.
• X染色体の 0番目の遺伝子は X 0である。  • The 0th gene on the X chromosome is X0.
· Y染色体の 0番目の遺伝子は Y 0である。  · The 0th gene on the Y chromosome is Y0.
•回転染色体の 0番目の遺伝子は 0である。  • The 0th gene of the rotating chromosome is 0.
次に、 (X l, Y 1) に位置し、 90度回転したブロック 1 (# 1) を以下に 示す。  Next, block 1 (# 1) located at (X1, Y1) and rotated 90 degrees is shown below.
♦ X染色体の 1番目の遺伝子は X 1である。  ♦ The first gene on the X chromosome is X1.
· Y染色体の 1番目の遺伝子は Y 1である。  · The first gene on the Y chromosome is Y1.
•回転染色体の 1番目の遺伝子は 1である。  • The first gene on the rotating chromosome is 1.
ブロック 1同士が重なりあったり、 ブロック 1が枠からはみ出すことはこのコ 一ディング方式では許容されている。 この評価関数を評価することによってプロ ック 1同士の重なり合いやはみ出しを排除する方法を採用している。  It is permissible in this coding scheme for blocks 1 to overlap or to extend beyond the frame. A method is employed in which the evaluation function is evaluated to eliminate overlaps and protrusions between the blocks 1.
1. 2. 遺伝的アルゴリズムのフロアプランニングに対する応用  1. 2. Application of Genetic Algorithm to Floorplanning
目的物の配置のモデルを、 たとえば図 5に示す。 図 5 (a) はブロック 1の形 状とネットリスト、 図 5 (b) はチップ領域をそれぞれ表す。 この図において矩 形のブロック 1は配線経路により接続されて示されている。 おのおのの矩形プロ ック 1の縦横比および寸法も示されている。 この図にはそれぞれ寸法と縦横比が 対応した半導体チップも示されている。 基本的な操作は以下の通りである。  Fig. 5 shows a model of the arrangement of objects. Fig. 5 (a) shows the shape and netlist of block 1, and Fig. 5 (b) shows the chip area. In this figure, rectangular blocks 1 are shown connected by wiring paths. The aspect ratio and dimensions of each rectangular block 1 are also shown. This figure also shows semiconductor chips whose dimensions and aspect ratios correspond to each other. The basic operation is as follows.
(1) 初期世代をランダムに発生させる。  (1) Generate the initial generation randomly.
(2) 評価関数を計算することにより適合度を評価する。  (2) The fitness is evaluated by calculating the evaluation function.
(3) 子孫を発生させる。 エリート個体を保存する。 選択、 交差、 突然変異を実 行する。 (4) 2および 3の操作を繰り返す。 (3) Generate offspring. Save the elite individual. Perform selection, crossover, and mutation. (4) Repeat steps 2 and 3.
(5) 発生操作をある程度繰り返した後、 最も良好な子孫を選択する。  (5) After repeating the generation operation to some extent, select the best offspring.
1. 3. 評価関数  1. 3. Evaluation function
評価関数の構成要素のための最小アイテム数を熟練設計者のやり方を基に選択 する。 評価関数を評価するときは、 ブロック 1間の実質配線長 L i、 ブロック 1 同士の重複部分 S i、 ブロック 1の指定領域からのはみ出し部分 OV iを考慮に 入れる。 評価関数パラメータの計算は、 たとえば図 6に一例を示す。 図 6 (a ) は実質配線長、 図 6 (b) は重複部分、 図 6 (c) ははみ出し部分をそれぞれ表 す。 L iは接続本数により重み付けされた各プロック 1の実質中心間配線長であ り、 ブロック 1相互の配線長とブロック 1と I ZOバッファ 2との間の配線長と を含んでいる。 ブロック 1と I /〇バッファ 2との間の配線経路はブロック 1同 士の配線長に対して 1 0倍の重み付けを行っている。 I ZOバッファ 2の相互接 続の総数はピンの本数により制限を受ける。 VL S Iの外部ピンの本数は数十本 から数百本にわたり様々である。 現在の技術では、 1 0 2 4本のピン本数まで対 応可能である。 一方、 ブロック 1間の配線経路の本数は 1 03から 1 04のオーダ —である。 しかしながら、 1配線経路当たり Ι ΖΟバッファ 2の接続による配置 の品質に対する影響度は、 経験によると、 ブロック 1間の 1配線経路当たりのそ れの 1 0倍から 2 0倍である。 The minimum number of items for the components of the evaluation function is selected based on the skills of the skilled designer. When evaluating the evaluation function, the actual wiring length L i between the blocks 1, the overlapping portion S i between the blocks 1, and the portion OV i of the block 1 protruding from the designated area are taken into consideration. FIG. 6 shows an example of the calculation of the evaluation function parameters. Fig. 6 (a) shows the actual wiring length, Fig. 6 (b) shows the overlapping part, and Fig. 6 (c) shows the protruding part. L i is the effective center-to-center wiring length of each block 1 weighted by the number of connections, and includes the wiring length of each block 1 and the wiring length between the block 1 and the IZO buffer 2. The wiring path between block 1 and I / 〇buffer 2 weights the wiring length of block 1 by 10 times. The total number of IZO buffer 2 interconnects is limited by the number of pins. The number of VLSI external pins varies from tens to hundreds. Current technology is capable of handling up to 104 pins. On the other hand, the number of wiring paths between block 1 1 0 3 1 0 4 of the order - a. However, the experience of the connection of the buffer 2 per wiring route to the placement quality is 10 to 20 times that per block 1 wiring route.
評価関数 Εは下記の式 1によって与えられる。  The evaluation function Ε is given by Equation 1 below.
E = a∑ L i + j3 ∑ S i + 7 ∑OV i · · · 式 1  E = a∑ L i + j3 ∑ S i + 7 ∑OV i
ここで、 α, β , γは重み付けとしての調整係数である。 各評価項目は図 6に 示される。 予備的な実験結果からひ = 1、 /3 = 1 0、 γ = 1 0 0 0が選定されて いる。  Here, α, β, and γ are adjustment coefficients as weights. Each evaluation item is shown in Figure 6. From the preliminary experimental results, hi = 1, / 3 = 10 and γ = 100 are selected.
1. 4. 突然変異  1. 4. Mutation
突然変異とは、 たとえば図 7に一例を示すように、 前記図 4に示す染色体に対 して (図 7 ( a ) ) 、 選択されたブロック 1をある距離だけランダムに動かす ( 図 7 (b) ) とともに、 選択されたブロック 1の向きをランダムに変更する (図 7 ( c ) ) ことである。 この動かす距離はやはりランダムに決定されるが、 ある 決められた値よりも小さい値とする。 プロック 1群の中でどれくらい突然変異を 行うかの比率はプログラム可能であり、 経験に基づいて決定される。 Mutation is, for example, as shown in FIG. 7 in which the selected block 1 is randomly moved by a certain distance with respect to the chromosome shown in FIG. 4 (FIG. 7 (a)) (FIG. 7 (b) )), And randomly change the orientation of the selected block 1 (Fig. 7 (c)). This moving distance is also determined at random, but is set to a value smaller than a predetermined value. How many mutations in a block The ratio of doing is programmable and is determined based on experience.
1 . 5 . テストデータ  1.5. Test data
実験を目的として、 図 8、 図 9、 図 1 0に示すような 3つの例をテス トデータ として用意した。 テストデータは熟練した設計技術者により独自に設計されたも のに基づいている。 図 8および図 9に対応するテストデータ (1 ) および (2 ) は実際の設計の実施例から構成したものであり、 図 1 0に対応するテストデータ For the purpose of the experiment, three examples as shown in Figs. 8, 9, and 10 were prepared as test data. The test data is based on what was originally designed by a skilled design engineer. Test data (1) and (2) corresponding to FIG. 8 and FIG. 9 are constructed from an actual design example, and test data corresponding to FIG.
( 3 ) は、 このアルゴリズムの性能を試すために意図的に作成したものである。 図 8、 図 9、 図 1 0において、 ブロック 1と I ZOバッファ 2間、 ブロック 1間 の配線は、 本数に対応した幅となっている。 (3) was created intentionally to test the performance of this algorithm. In FIGS. 8, 9, and 10, the wiring between the block 1 and the IZO buffer 2 and the wiring between the blocks 1 have a width corresponding to the number of wires.
プログラムに適用されるものは、 ネットリスト (内部のブロック 1および I Z What applies to the program is the netlist (internal blocks 1 and I Z
〇バッファ 2間の接続情報) 、 目的とするチップの寸法およびそれぞれのブロッ ク 1の寸法に関するデータのみである。 (4) Connection information between buffers 2) Only data on target chip dimensions and block 1 dimensions.
1 . 6 . 遺伝的アルゴリズムの実験結果  1.6 Results of Genetic Algorithm Experiment
図 1 1、 図 1 2、 図 1 3は、 遺伝的アルゴリズムによりフロアプランニングを 行った場合の結果を示す。 各図の左側 (a ) は、 前記図 8から図 1 0の例に対応 したもので、 テストデータを用いて熟練者によって作成されたフロアプランを示 している。 右側の図 (b ) は、 実験的なプログラムにより作成された遺伝的アル ゴリズムの設計結果を示している。 それぞれの場合において、 評価関数の値、 す なわちコストは 6 0回から 6 5回の世代生成 (繰り返し世代) で一定値に収束す る。 初期世代における個体の数は 2 0 0 0に設定してある。 親から発生した子孫 の数は 1 5 0 %であり、 子孫の総数は合計で 3 0 0 0になる。 ただし、 次の世代 を生む親となり得る個体の数は 2 0 0 0である。 残りの 1 0 0 0個の個体は廃棄 される。 突然変異を発生させる比率は 8 %である。 上述のケースでは生き残りェ リートの数は 4 0である。  Figures 11, 12, and 13 show the results when floorplanning was performed using a genetic algorithm. The left side (a) of each figure corresponds to the examples of FIGS. 8 to 10 and shows a floor plan created by a skilled person using test data. Figure (b) on the right shows the design results of the genetic algorithm created by the experimental program. In each case, the value of the evaluation function, that is, the cost, converges to a constant value after generation of 60 to 65 generations (iteration generation). The number of individuals in the initial generation is set to 2000. The number of offspring emanating from the parent is 150% and the total number of offspring is 30000. However, the number of individuals that can be parents for the next generation is 20000. The remaining 100 individuals are discarded. The rate of mutation is 8%. In the above case, the number of surviving elites is 40.
図 1 1によるテス トデータ (1 ) の場合では、 熟練設計者によって作成された 設計例のコス ト (すなわち評価関数の値) は 7 1 5 5である。 この数字はブロッ ク 1および I /Oバッファ 2間の実質配線長からなる。 従って、 この値が小さい ほど良好な結果が得られたことになる。 遺伝的アルゴリズムを用いて初期世代の 数を 2 0 0 0とし、 7 0世代まで発生させた場合のコストは 9 7 6 6であった。 4 6世代まで発生させたとき、 コス トはこの値に達し、 それ以降は向上が見られ なかった。 従って、 局所的な最適値に収束してしまったと見なし得る。 In the case of the test data (1) shown in Fig. 11, the cost (that is, the value of the evaluation function) of the design example created by the skilled designer is 715. This figure consists of the effective wiring length between block 1 and I / O buffer 2. Therefore, the smaller the value, the better the result. The number of initial generations was set to 20000 using a genetic algorithm, and the cost of generating up to 70 generations was 9766. The cost reached this value when it was generated up to 46 generations, after which no improvement was seen. Therefore, it can be considered that the local convergence has been achieved.
遺伝的アルゴリズムに基づいた結果を観察すると、 熟練設計者であれば、 技術 者としての個別的な経験に基づきブロック 1 ( # 9 ) 、 ブロック 1 ( # 2 ) およ ぴブロック 1 ( # 8 ) の位置が不適切であると指摘できる。  Observing the results based on the genetic algorithm, if you are a skilled designer, based on your individual experience as a technician, Block 1 (# 9), Block 1 (# 2) and Block 1 (# 8) Can be pointed out as inappropriate.
テス トデータ (2 ) の場合では、 遺伝的アルゴリズムを用いてテストデータ ( 1 ) の場合よりも良好な結果を得ている。 人手による設計ではコス トは 5 0 0 1 であったが、 遺伝的アルゴリズムにより発生させた設計ではコストは 5 2 6 6で あった。 しかしながら、 ここでも熟練技術者であればブロック 1 ( # 2 ) とプロ ック 1 ( # 0 ) は交換されてしかるべきであることが指摘できる。  In the case of test data (2), better results were obtained using the genetic algorithm than in the case of test data (1). The cost was 501 in the manual design, but it was 5266 in the design generated by the genetic algorithm. However, again, skilled technicians can point out that block 1 (# 2) and block 1 (# 0) should be exchanged.
テストデータ (3 ) に関しては、 遺伝的アルゴリズムに基づく結果は、 5 0世 代目に評価関数が飽和した後でも依然として望ましい水準に達していない。 この 範囲ではまだかなりの改善の余地がある。  Regarding the test data (3), the results based on the genetic algorithm have not yet reached the desired level even after the evaluation function was saturated in the 50th generation. There is still much room for improvement in this area.
2 . 遺伝的ァルゴリズムの分析の問題 2. Problems in the analysis of genetic algorithms
遺伝的アルゴリズムは、 生物学の分野における進化の過程を蓋然論的にシミュ レーシヨンしたものである。 このアルゴリズムでは初期世代をランダムに、 無作 為化の方法 ほし数発生法) により決定することが多いので、 最終的な結果はこの 初期条件にしばしば左右される。  Genetic algorithms are probable simulations of evolutionary processes in the field of biology. In this algorithm, the initial generation is often determined at random by a randomization method (the number generation method), so the final result often depends on this initial condition.
遺伝的アルゴリズムは、 一般的に全体的な最適化をめざすものであるが、 最終 結果は初期世代の組み合わせにかなり依存する。 すなわち、 突然変異の効果とし て発生する場合を除いて、 初期世代の遺伝子の中に含まれていなかった情報を構 成要素とする最終結果が生まれる可能性が極めて少ない。 初期世代を構成する個 体は多数そろえることで、よりよい結果を生み出すようにすることが必要である。 しかしながら、 初期世代に多数の個体を用意すると、 それだけで計算時間が必要 になる。 さらに満足のいく結果を得るために何回くらいの世代生成が必要となる かを予測することは困難である。  Genetic algorithms are generally aimed at global optimization, but the end result depends heavily on the initial generation combination. In other words, it is extremely unlikely that a final result will be produced that uses information that was not included in the genes of the early generation as a component, except when it occurs as a mutation effect. It is necessary to produce a large number of individuals that make up the initial generation to produce better results. However, if a large number of individuals are prepared for the initial generation, the calculation time is required alone. It is difficult to predict how many generations will be required to obtain more satisfactory results.
3 . 遺伝的アルゴリズムにおける初期世代に対して適用するフアジィ推論の提案 遺伝的アルゴリズムは、 最適化問題を解決するには優れた方法であるが、 上述 したように、 まだ多くの改善の余地がある。 産業の現場には実務的経験と多くの 知識の蓄積を有する多数の熟練者がいる。 ここでは、 熟練設計者の知識に基づい たフアジィ推論を、 遺伝的アルゴリズムの操作における最適な初期条件の設定に 応用する方法を提案する。 3. Proposal of fuzzy inference applied to early generations in genetic algorithms Genetic algorithms are an excellent method for solving optimization problems, but as mentioned above, there is still much room for improvement. . Practical experience and much There are a large number of skilled workers with an accumulation of knowledge. Here, we propose a method of applying fuzzy inference based on the knowledge of a skilled designer to the setting of optimal initial conditions in the operation of a genetic algorithm.
フアジィ理論は熟練者の知識に基づいて自動制御のシステムを構築する場合に 幅広く応用されている。 フアジィ理論は、 対象物が厳格な数学方程式またはアル ゴリズム的方法論によっては記述できないか、 または記述することが困難である 力 その対象物の极いは言葉によってなら記述できるような場合に優れた適合性 を発揮する。 フアジィ理論に基づいた推論 (フアジィ推論) は、 自動制御の分野 でよく知られている。  The fuzzy theory has been widely applied when constructing automatic control systems based on the knowledge of experts. Fuzzy theory is a good fit when the object cannot be described by strict mathematical equations or algorithmic methodologies or is difficult to describe. Demonstrate the nature. Inference based on fuzzy theory (fuzzy inference) is well known in the field of automatic control.
ここで、 提案する方法は、 経験を積んだ V L S I設計者の専門知識から抽出し たフアジィ推論を遺伝的アルゴリズムにおける限られた初期条件を得るために応 用するものである。 フアジィ推論を適用するためには、 専門家の知識を入手する 必要がある。 ただし、 自然言語によって記述されたフロアプランニングの配置問 題に適用される知識はしばしば複雑かつ曖昧である。  Here, the proposed method applies fuzzy inference extracted from the expertise of experienced VLSI designers to obtain limited initial conditions in genetic algorithms. In order to apply fuzzy inference, it is necessary to obtain expert knowledge. However, the knowledge applied to floorplanning placement issues described in natural language is often complex and ambiguous.
3 . 1 . 設計の知識 3.1 Design knowledge
以下に示す一例は、 V L S I設計技術者がフロアプランニングをしているとき に考える事柄 (知識やノウハウ) を記したものである。 なお、 以下におけるモジ ュ一ルはブ口ック 1に対応する。  The following example describes what a VLSI design engineer thinks (knowledge and know-how) during floor planning. The following modules correspond to Block 1.
( 1 ) I ZOバッファ 2 (チップの周辺に配置される) の位置が与えられる。 ( 2 ) チップの外形ができる限り正方形になっているかどうかを確かめる。  (1) The position of the IZO buffer 2 (located around the chip) is given. (2) Check that the outer shape of the chip is as square as possible.
( 3 ) チップの寸法ができる限り小さく設定されているかどうかを確かめる。 (3) Make sure that the chip dimensions are set as small as possible.
( 4 ) C P Uコアや R AMなどの比較的大きいブロック 1がチップの縁に沿って、 できれば角に配置されているかどうかを確かめる。 (4) Make sure that relatively large blocks 1, such as CPU cores and RAMs, are placed along the edge of the chip, preferably at the corners.
( 5 ) Iノ Oバッファ 2との接続性の高いモジュール (ブロック 1 ) は、 形状や 寸法に関わりなくダイの周辺部、 すなわちチップ領域の縁に沿って配置されるべ きである。  (5) Modules with high connectivity to the I / O buffer 2 (block 1) should be located along the periphery of the die, ie along the edge of the chip area, regardless of shape and size.
( 6 ) そのモジュールの I ZOバッファ 2との接続性が低い場合は、 モジュール (ブロック 1 ) 寸法がそれ程大きくないか、 あるいはそのモジュールのその他の モジュールとの接続性が高い場合は、 ダイの比較的中央部に配置されてもよい。 ( 7 ) I /Oバッファ 2と内側に配置されるモジュール (ブロック 1 ) との接続 性は、 遠心系と類似に考えることができ、 また内側に配置されるモジュール同士 の接続 14は求心系と類似に考えることができる。 (6) If the module's connectivity with the IZO buffer 2 is low, compare the die if the module (block 1) dimensions are not so large or if the module's connectivity with other modules is high. It may be arranged at the target center. (7) The connectivity between the I / O buffer 2 and the module (block 1) placed inside can be considered similar to the centrifugal system, and the connection 14 between the modules placed inside is connected to the centripetal system. You can think alike.
( 8 ) モジュール (ブロック 1 ) 同士はもし相互に高い接続性を呈するのであれ ば、 隣接して配置されるべきである。  (8) Modules (Block 1) should be placed adjacent to each other if they show high connectivity.
上記のガイ ドラインは当然のことながら断定的なものではなく、 実際の設計の シチュエーションでは、 特性、 性能、 コス ト、 その他を比較考量して多くの一層 詳しいガイ ドラインが必要となる。 ただし、 上述の情報に基づいて遺伝的ァルゴ リズムの初期世代に対してファジィ推論を実施するときは、 応用の一般性が損な われることはない。  The above guidelines are, of course, not conclusive, and actual design situations will require many more detailed guidelines, weighing their characteristics, performance, cost and other factors. However, when fuzzy inference is performed on the initial generation of genetic algorithms based on the above information, the generality of application is not impaired.
3 . 2 . フアジィのノレ一ノレ  3. 2.
以下の推論のためのルールは、 上述の設計に関するガイ ドラインに基づいて導 かれる。  The following inference rules are derived based on the design guidelines described above.
( 1 ) チップの中心部付近に配置されるモジュール (ブロック 1 ) は、 I ZOバ ッファ 2に対して接続性の低いものを選び、 このモジュールに対して接続性の高 いモジュールは隣接する位置に配置する。 ただし、 この中心部付近に配置される べきモジュールは、 前述のルールにより選択されたモジュールである場合を除き 比較的小さいモジュールであるべきである。  (1) For the module (block 1) located near the center of the chip, select a module with low connection to the IZO buffer 2, and select a module with high connection to this module in an adjacent position. To place. However, the module to be placed near this center should be a relatively small module unless it is a module selected according to the rules described above.
( 2 ) 隅に配置されるべきモジュール (ブロック 1 ) としては (4つの隅すベて に同様にいえることであるが) 、 寸法が大きく隣接するモジュールに対して中程 度の接続性を有するものを選ぶ。  (2) For modules to be placed in corners (block 1) (similarly for all four corners), they have moderate connectivity to larger modules and adjacent modules Choose one.
( 3 ) I ZOバッファ 2に対して比較的高い接続性を有するモジュール (プロッ ク 1 ) は、 有効チップ領域の周辺部に沿って配置されるべきである。 ただし、 前 述のルールの適用の結果としてこの周辺領域が既に他のモジュールが割り当てら れているときは、 この限りではない。  (3) Modules with relatively high connectivity to IZO buffer 2 (block 1) should be located along the periphery of the effective chip area. However, this shall not apply if this peripheral area has already been allocated to another module as a result of the application of the aforementioned rules.
ファジィ推論における上述のルールは、 たとえばチップの中心部付近に配置さ れるモジュールに関しては図 1 4、 チップの隅に配置されるべきモジュールに関 しては図 1 5のようにそれぞれ示すことができる。 たとえば図 1 4において、 I ZOバッファ 2との接続性が低く、 他のモジュールとの接続性が高い場合におい W て、 ブロック 1の寸法が小さい場合には適合度が高く、 中程度の場合には中程度、 大きい場合には適合度が低くなることを表している。 他の場合においても同様で ある。 The above rules in fuzzy inference can be shown, for example, in Figure 14 for modules located near the center of the chip and in Figure 15 for modules to be located in the corners of the chip. . For example, in Fig. 14, when the connectivity with IZO buffer 2 is low and the connectivity with other modules is high, W indicates that if the size of block 1 is small, the conformity is high; if it is medium, it is moderate; if it is large, the conformity is low. The same applies to other cases.
上述のフアジィのルールのために、 メンバーシップ関数およびフアジィ変数が 開発されている。 たとえば、 図 1 6は、 実験的なソフトウェアにおいて採用され ているメンバ一シップ関数およびフアジィ変数を示すもので、プロック 1の寸法、 モジュール (ブロック 1 ) 間の接続性および I ZOバッファ 2との接続性を評価 するためのものである。 フアジィ変数のためのパラメータは熟練技術者の知識に 基づいて決定される。  Membership functions and fuzzy variables have been developed for the fuzzy rules described above. For example, Figure 16 shows the membership functions and fuzzy variables used in the experimental software. The dimensions of block 1, the connectivity between modules (block 1) and the connection to IZO buffer 2 This is to evaluate the gender. The parameters for the fuzzy variables are determined based on the knowledge of the skilled technician.
たとえば、 図 16 (a) に示す I /Oバッファ 2との接続性については、 配線 量を正規化し、 その平均値を 1. 0とした場合に、 1. 0以下で接続性が低く、 2. 0以上で接続性が高いとしている。 図 16 (b) に示す他のモジュール (ブ ロック 1) との接続性についても、 0. 5以下で接続性が低く、 0. 8付近で接 続性が中程度、 1. 3以上で接続性が高いとしている。 また、 図 16 (c) に示 すブロック 1の寸法については、 平均値を 1. 0にして、 0. 6以下で小さく、 1. 0付近で中程度、 3. 0以上で大きいとしている。 さらに、 適合度の高い、 中程度、 低い位置は図 16 (d) のようになる。  For example, as for the connectivity with I / O buffer 2 shown in Fig. 16 (a), when the amount of wiring is normalized and the average value is set to 1.0, the connectivity is low at 1.0 or less and 2 It is said that connectivity is high at 0 or more. Regarding the connectivity with other modules (block 1) shown in Fig. 16 (b), the connectivity is low at 0.5 or less, the connectivity is moderate near 0.8, and the connectivity is 1.3 or more. It is said that the nature is high. As for the dimensions of block 1 shown in Fig. 16 (c), the average value is assumed to be 1.0, small at 0.6 or less, moderate near 1.0, and large at 3.0 or more. Figure 16 (d) shows the positions of high, medium, and low conformity.
4. 実施 4. Implementation
この提案の有効性を検証するための実験的なソフトウエアが開発されており、 このソフトウェアの概要を図 17に示す。 このソフトウェアにおいては、 メイン コントローラ 1 1により、 前述したフアジィ推論 12、 遺伝的アルゴリズム 13 の各機能を動作させ、 結果出力 14を介して図面をリポートとして出力するよう な構成となっている。 フアジィ推論 1 2の機能においては、 パラメータと入力デ —タを読み込み (S 1 701) 、 パラメータ調整の有無を判定し (S 1702) 、 パラメ一タ調整が必要な場合にはパラメータを調整して (S 1 703) 、 チップ の中心部、 隅に配置するブロック 1を推論する (S 1 704) 。 この推論結果を 遺伝的アルゴリズム 1 3の機能において、 初期世代を発生し (S 1705) 、 選 択、 交差、 突然変異、 エリート保存、 淘汰を繰り返して実行する (S 1706) 。 このソフトウェアは、 たとえば図 18に示すように、 前記メインコントローラ 1 1の他に、 R OM、 R AMなどの記憶装置 2 1、 キーボード、 マウスなどの入 力装置 2 2、 ディスプレイ、 プリンタなどの出力装置 2 3、 ディスク装置などの 補助記憶装置 2 4などのハードウエアからなるコンピュータシステム上で動作す るように構成されている。 前記フアジィ推論 1 2、 遺伝的アルゴリズム 1 3など の各アルゴリズムは、 たとえば補助記憶装置 2 4に挿抜自在とされる C D— R O Mなどの記録媒体 2 5にプログラムとして記録され、 このプログラムが記録媒体 2 5から記憶装置 2 1に読み出され、 メインコントローラ 1 1の制御に基づいて 各処理が実行される。 Experimental software has been developed to verify the effectiveness of this proposal, and Figure 17 shows an overview of this software. In this software, the main controller 11 operates the functions of the fuzzy inference 12 and the genetic algorithm 13 described above, and outputs the drawing as a report via the result output 14. In the function of fuzzy inference 12, the parameters and input data are read (S1701), the presence or absence of parameter adjustment is determined (S1702), and if parameter adjustment is necessary, the parameters are adjusted. (S1703), the block 1 to be arranged at the center and corner of the chip is inferred (S1704). The result of this inference is generated in the function of the genetic algorithm 13 by generating an initial generation (S1705), and selection, crossover, mutation, elite conservation, and selection are repeatedly executed (S1706). This software, for example, as shown in Figure 18, the main controller 1 In addition to 1, storage devices such as ROM and RAM 21; input devices 22 such as a keyboard and mouse; output devices 23 such as displays and printers; and auxiliary storage devices 24 such as disk devices It is configured to operate on a computer system consisting of hardware. The algorithms such as the fuzzy inference 12 and the genetic algorithm 13 are recorded as a program on a recording medium 25 such as a CD-ROM that can be inserted into and removed from the auxiliary storage device 24. 5 is read out to the storage device 21 and each process is executed under the control of the main controller 11.
このソフトウェアでは、 遺伝的アルゴリズム 1 3を適用するに先立って、 前記 3 . 2において説明したフアジィのルールに基づいたフアジィ推論 1 2によりブ ロック 1の位置を推論する。 このソフトウェアは、 さらに必要があればフアジィ 変数のためのパラメータを調整する。 このパラメータ調整の手順は、 逆方向伝達 法 (Back propagation Method ; に従つ。  In this software, prior to applying the genetic algorithm 13, the position of the block 1 is inferred by fuzzy inference 12 based on the fuzzy rule described in 3.2 above. The software also adjusts parameters for fuzzy variables if needed. The procedure for this parameter adjustment follows the Back propagation Method;
このソフトウエアでは、 まずチップの中心部付近に配置するのに最も適したブ ロック 1を見い出すことを試みる。 このソフトウェアでは、 前記図 1 4に示した フアジィのルールおよび前記図 1 6において説明したメンバーシップ関数を採用 している。 この手続きにより選択されたプロック 1がチップの中心部に配置され る。 選択されたブロック 1は後続のステップの対象物から除外される。  The software first attempts to find the best block 1 to place near the center of the chip. This software employs the fuzzy rule shown in FIG. 14 and the membership function described in FIG. The block 1 selected by this procedure is placed at the center of the chip. Selected block 1 is excluded from the subsequent steps.
次に、 このソフトウェアでは、 前記図 1 5において説明したフアジィのルール に基づいて各ブロック 1と各隅との適合値を評価する。 メンバ一シップ関数は、 上述したものと同様である。 4つの隅は左上、 左下、 右下および右上の 4隅であ る。 ここでブロック 1 と隅との組み合わせの適合値を試算する。 ブロック 1とこ れが配置される隅との最良の組み合わせが最良の適合性をもたらす。 そこで、 選 択された最良の組み合わせのブロック 1がその隅に配置され、 さらに配置された プロック 1がチップの境界線からはみ出していないことが確認される。  Next, this software evaluates the conformity value between each block 1 and each corner based on the fuzzy rule described in FIG. The membership functions are the same as those described above. The four corners are the upper left, lower left, lower right, and upper right corners. Here, a trial value is calculated for the combination of block 1 and the corner. The best combination of Block 1 and the corner where it is placed will give the best fit. Therefore, it is confirmed that the block 1 of the best combination selected is placed at the corner, and that the placed block 1 does not protrude from the chip boundary.
次に、 このソフトウェアでは、 残りのブロック 1の組み合わせを調べ、 残りの 隅に対するプロック 1の配置の仕方の候補を選択する。 このソフトウェアでは、 大きな数字から先に並べられた適合値に従って、 各隅に対する最も適する候補を 発見するように試みる。 ただし、 適合値の程度がある値よりも小さいときは、 こ のソフトウエアでは推論のプロセスを終了し、 2つまたは 3つの候補を推薦する にとどめる。 Next, this software examines the remaining combinations of block 1 and selects a candidate for how to place block 1 in the remaining corners. The software tries to find the best candidate for each corner, according to the fit values listed first, starting with the highest number. However, when the value of the conformance value is smaller than a certain value, The software finishes the inference process and only recommends two or three candidates.
一旦、 推論の結果が得られると、 従来の方法でも採用されている同様の方法に 従って初期世代をランダムに発生させる (乱数発生) 。 推論されたブロック 1の 遺伝子を推論の結果に基づいて書き換える。 遺伝子の書き換えを行う比率は自由 にプログラミングできる。 ただし、 適合値がある値よりも大きいときは、 その遺 伝子を 1 00%書き換える。 また、 この適合値がその値を下回るときは、 その適 合値により遺伝子の 1 00%ではないあるパーセンテージが書き換えられる。 こ のとき、 このソフトウェアでは通常の遺伝的アルゴリズムを開始する。 たとえば 一例として、 図 1 9はテストデータ (1) の場合の上述のプロセスを示している。 このとき、 ソフトウェアがブロック 1の幾何学的配置と接続性に関する情報と を入力パラメータの組としてデータファイルから読み取る。 このデータファイル カ らはフアジイバラメータも読み出す。 接続性情報は、 表形式で表された接続性 マトリクスにより表現される。 表の右半分はブロック 1と I 〇バッファ 2との 間の接続情報、 左半分はプロック 1間の接続情報をそれぞれ表す。  Once the inference result is obtained, the initial generation is generated randomly according to the same method used in the conventional method (random number generation). The inferred block 1 gene is rewritten based on the result of the inference. The rate at which genes are rewritten can be freely programmed. However, if the conformance value is larger than a certain value, the gene is rewritten 100%. Also, if this fit falls below that value, the fit will rewrite some percentage of the gene, not 100%. At this time, the software starts the normal genetic algorithm. For example, FIG. 19 illustrates the above process for test data (1). At this time, the software reads the information on the geometric arrangement and the connectivity of block 1 from the data file as a set of input parameters. These data files also read the fuzzy parameters. The connectivity information is represented by a connectivity matrix expressed in a tabular format. The right half of the table shows the connection information between block 1 and I〇buffer 2, and the left half shows the connection information between block 1 and block 1.
表に記載されている数はブロック 1間の配線量を正規化した数値である。 1/ Oバッファ 2との接続に関するものはその配線量に対して 1 0倍の重み付けを行 つている。 これは I /Oバッファ 2とブロック 1との配線の絶対値は、 ブロック 1同士の配線の場合と比較してフロアプラン配置における影響力が大きいにも関 わらず、 小さく (全ピン数により制限を受けている) 表現されているからである。 まず、 このソフトウェアでは、 フアジィ推論 1 2によりブロック 1 (# 3) が 中央に配置されるブロック 1として選択される。 その適合値は 0. 80823で ある (S 1 901 ) 。  The numbers shown in the table are the normalized values of the wiring amount between blocks 1. For the connection with the 1 / O buffer 2, the wiring amount is weighted 10 times. This means that the absolute value of the wiring between I / O buffer 2 and block 1 is small (limited by the total number of pins), despite having a greater influence on the floor plan layout than the wiring between blocks 1 Because it is expressed). First, in this software, block 1 (# 3) is selected as block 1 located in the center by fuzzy inference 12. The matching value is 0.8823 (S1901).
次に、 隅に配置するブロック 1の組み合わせを推論する。 この場合における最 良の適合性を示す配置は、 ブロック 1 (# 1) を右上隅に配置することである ( 適合値は 0. 5475 1 6) (S 1 902) 。 次に考えられる適合性はブロック 1 (# 0) を左上隅に配置することである (適合値は 0. 459838) (S 1 903) 。 さらに次の適合性は、 ブロック 1 (#4) を左下隅に配置することで ある。 このブロック 1 (#4) の適合値は 0. 3095 1 7である (S 1 904 ) 。 上述の例は意味のある推論である。 Next, infer the combination of block 1 to be placed at the corner. The best fit in this case is to place block 1 (# 1) in the upper right corner (fit value is 0.547516) (S1902). The next possible match is to place block 1 (# 0) in the upper left corner (fit value is 0.459838) (S1903). The next conformance is to place block 1 (# 4) in the lower left corner. The conforming value of this block 1 (# 4) is 0.3955 7 (S1904 ). The above example is a meaningful reasoning.
右下隅に配置されるべきブロック 1としては、 ブロック 1 (# 7) とブロック 1 (# 9) が候補として考えられる (S 1 9 0 5) 。 しかしながら、 適合値が極 めて小さく、 それぞれ 0. 1 5 0 2 0 4と 0. 1 0 5 0 7 1であるので、 これら の数値が意味のある推論結果と結びつくか否かを判断することは困難である。 ここで編集と併合の機能に基づいてランダムに生成した初期世代の書き換えを 行う (S 1 9 0 6) 。 推論結果が意味のあるときは、 遺伝子の 1 0 0%が置き換 えられる。 右下隅におけるブロック 1 (# 7) とブロック 1 (# 9) のように適 合値が低い (0. 2を下回る) 場合は、 ブロック 1 (# 7) を当てはめる場合と ブロック 1 (# 9) を当てはめる場合とを作成し、 結果の良好な方を採用する。 本実験プログラムはおよそ 4 5 0 0行のコードからなり、 C言語により記述さ れている。  Block 1 (# 7) and block 1 (# 9) are considered as candidates to be placed in the lower right corner (S1905). However, since the relevance values are extremely small, 0.15 0 2 0 4 and 0.1 0 5 0 7 1, respectively, it is necessary to determine whether these numbers are relevant to meaningful inference results. It is difficult. Here, the initial generation randomly generated based on the editing and merging functions is rewritten (S1906). When the inference result is meaningful, 100% of the genes are replaced. If the fit value is low (below 0.2), such as Block 1 (# 7) and Block 1 (# 9) in the lower right corner, then apply Block 1 (# 7) and Block 1 (# 9) And apply the best result. This experimental program consists of about 450 lines of code and is written in C language.
4. 1. 実施の個体例  4. 1. Individual examples of implementation
図 2 0、 図 2 1は、 フアジィ推論 1 2で求められたプロック 1の位置情報 (座 標値など) の、 遺伝的アルゴリズム 1 3の処理への反映方法を示したものである。 図 2 0において、 実線のブロック 1 (# 3, # 0, # 4, # 7, # 1 ) はファ ジィ推論 1 2で求められたものであり、 残りのブロック 1 (破線で示す # 2, # 5, # 6, # 9, # 8) はフアジィ推論 1 2では決定しないで遺伝的ァルゴリズ ム 1 3に任せたものとする。  Figures 20 and 21 show how the position information (coordinates, etc.) of block 1 obtained by fuzzy inference 12 is reflected in the processing of genetic algorithm 13. In FIG. 20, solid block 1 (# 3, # 0, # 4, # 7, # 1) is obtained by fuzzy inference 12 and the remaining block 1 (# 2, # 5, # 6, # 9, # 8) are left undetermined by the fuzzy inference 12 and left to the genetic algorithm 13.
各ブロック 1に対して、 図 2 1に示すように複数の個体 1から個体 nがあり、 大文字はフアジィ推論 1 2によって求められたブロック 1の中心座標値を示す。 ただし、 回転 (]" = 0または1 ) は乱数発生に従うので、 それぞれのケースにつ いてチップエリアからはみ出さないように調整を行う。 従って、 たとえばブロッ ク 1 (# 0) についていえば、 r 0 = 0の場合の (AO, B O) 、 r 0 = 1の場 合の (A 0, B O) の値は異なるが、 r 0が同じであれば全個体をとおして同一 値となる。 また、 イタリック体数字は乱数により発生する値を示す。  For each block 1, there are a plurality of individuals 1 to n as shown in FIG. 21, and uppercase letters indicate the center coordinate values of block 1 obtained by fuzzy inference 12. However, since the rotation (] "= 0 or 1) follows the generation of random numbers, adjust each case so that it does not protrude from the chip area. Thus, for example, for block 1 (# 0), r The values of (AO, BO) when 0 = 0 and (A 0, BO) when r 0 = 1 are different, but are the same throughout all individuals if r 0 is the same. , Italic numbers indicate values generated by random numbers.
従って、 図 2 1のように、 ブロック 1 (# 0, # 1, # 3 , # 4, # 7 ) につ いては、 フアジィ推論 1 2で決定された値 (遺伝子) が最終解まで引き継がれる。 一方、 ブロック 1 (# 2, # 5, # 6, # 8, # 9) においては、 乱数発生され た値が遺伝的アルゴリズム 1 3により最適化され、 終了条件が成立した時点にお ける最良の個体を解として選択する。 この最良の個体がフロアプランニングにお けるブロック配置の設計データ群となる。 Therefore, as shown in Fig. 21, for block 1 (# 0, # 1, # 3, # 4, # 7), the value (gene) determined by fuzzy inference 1 2 is carried over to the final solution. . On the other hand, in block 1 (# 2, # 5, # 6, # 8, # 9), random numbers are generated. The optimal value is optimized by the genetic algorithm 13 and the best individual at the time when the termination condition is satisfied is selected as the solution. This best individual becomes the design data group of the block arrangement in floor planning.
5. 実験結果 5. Experimental results
図 22、 図 23、 図 24は、 フアジィ理論によるフアジィ推論 1 2を適用した 初期世代に基づいた遺伝的アルゴリズム 1 3によるフロアプランニングをコンビ ユータで実験した結果を示したものである。  Fig. 22, Fig. 23 and Fig. 24 show the results of experiments on floor planning by a genetic algorithm 13 based on the early generation to which fuzzy inference 12 based on fuzzy theory is applied.
5. 1. テストデータ (1) 5. 1. Test data (1)
図 22は、 テス トデータ (1) に関してフアジィ推論 1 2と遺伝的ァルゴリズ ム 1 3とを適用した場合の結果を示している (右側の図 (b) 、 左側 (a) は熟 練設計技術者による結果) 。  Figure 22 shows the results of applying the fuzzy inference 12 and the genetic algorithm 13 to the test data (1). Results).
ブロック 1 (# 3) が中央に配置され、 ブロック 1 (# 0) が左上隅に配置さ れ、 ブロック 1 (#4) が左下隅に配置され、 ブロック 1 (# 1) が右上隅に配 置され (これは推論の結果) ている点は熟練設計技術者による設計結果と同じで ある。 これらの条件は初期条件として設定され、 遺伝的アルゴリズム 1 3による 操作をしているときでも変更されることのない条件として維持される。 図 22に 示すように、 右下隅に配置されるブロック 1の候補は数 1 0%である。 残りのブ ロック 1がどのように配置されるかは遺伝的アルゴリズム 1 3に委ねられている。 この結果は 1 000個の初期世代に対して 50回の発生操作をすることにより得 られたものである。 必要とされた計算時間は遺伝的アルゴリズム 1 3のみにより 設計を行った場合と比較してはるかに少ないものであった。 前記図 1 1に示す結 果を得るのに要した時間は、 たとえば S p a r c 1 0上で 4時間であつたが、 図 21に示す例では 40分であった。 この実験的ソフトウェアによる結果のコスト は 7476であった。 この値は熟練設計技術者が設計した場合の 7 1 55に近い コストである。 遺伝的アルゴリズム 1 3のみを用いた場合のコストである 976 6と比較すると実質的な進歩が達成できたといえる。  Block 1 (# 3) is placed in the center, Block 1 (# 0) is placed in the upper left corner, Block 1 (# 4) is placed in the lower left corner, and Block 1 (# 1) is placed in the upper right corner. (This is the result of inference) is the same as the design result by the skilled design engineer. These conditions are set as initial conditions, and are maintained as conditions that are not changed even when the operation is performed by the genetic algorithm 13. As shown in FIG. 22, the number of candidates for block 1 located in the lower right corner is 10%. How the remaining blocks 1 are arranged is left to the genetic algorithm 13. This result was obtained by performing 50 generation operations on 1 000 initial generations. The required calculation time was much less than when the design was performed using only the genetic algorithm 13. The time required to obtain the results shown in FIG. 11 was, for example, 4 hours on Sparc 10, but was 40 minutes in the example shown in FIG. The resulting cost of this experimental software was 7476. This value is a cost close to 7 155 when designed by a skilled design engineer. Compared to 9766, the cost of using only genetic algorithm 13, it can be said that substantial progress has been achieved.
この結果の視覚的印象は良好である。 熟練者が考察して評価した結果では、 実 際的応用に大きな潜在能力があると認められた。  The visual impression of this result is good. The results of a review and evaluation by skilled personnel indicated that the practical application has great potential.
5. 2. テス トデータ (2) 図 23は、 テストデータ (2) の結果を示すものである。 各ブロック 1の相対 位置は熟練設計技術者による設計結果と同様である。 5. 2. Test data (2) Figure 23 shows the results of test data (2). The relative position of each block 1 is the same as the design result by the skilled design engineer.
適合値は、 チップの中央に配置するブロック 1 (# 3) の場合が 0. 741 5 09、 左上隅に配置されたブロック 1 (# 0) の場合は 0. 5 1 6279、 左下 隅のブロック 1 (# 5) は 0. 42 1 739、 右下隅のブロック 1 (# 7) は 0. 304884、 右上隅のブロック 1 (# 1) は 0. 242806である。 50回 の世代生成を行った後の結果のコストは 4820であった。 これは初期世代を 1 The conforming values are 0.741 509 for block 1 (# 3) located at the center of the chip, 0.51 6279 for block 1 (# 0) located at the upper left corner, and the block at the lower left corner. 1 (# 5) is 0.42 1 739, block 1 in the lower right corner (# 7) is 0.30484, and block 1 (# 1) in the upper right corner is 0.2242806. The resulting cost after 50 generations was 4820. This is the first generation 1
000個(遺伝的アルゴリズム 1 3のみの場合の半数) に設定した場合であるが、 この遺伝的アルゴリズム 1 3のみの結果と比較して 8%の改善が得られた。 この 値は熟練設計者による結果と比較すると改善されている。 This is the case where the number is set to 000 (half of the case with only the genetic algorithm 13), and an 8% improvement is obtained as compared with the result of the genetic algorithm 13 alone. This value has been improved when compared to the results by experienced designers.
5. 3. テストデータ (3) 5. 3. Test data (3)
図 24は、 テストデータ (3) の結果を示すものである。 チップの中央に配置 されているブロック 1 (# 9) の適合値は 0. 740964であり、 左上隅に配 置されているブロック 1 (# 8) の適合値は 0. 586265である。 右上隅に 配置されているブロック 1 (# 7) の適合値は 0. 231 984である。 左下隅 に対して最も大きな適合性を示すブロック 1はブロック 1 (# 0) でありこれの 適合値が 0. 1 57509であり、 次に大きな適合性を示すプロック 1がプロッ ク 1 (# 1) であり、 0. 1 21 322である。 ブロック 1 (#4) を右下隅に 配置すると 0. 1 2 1 322、 もしブロック 1 (# 1) を右下隅に配置すると、 このときの適合値は 0. 1 1 0256となり、 ブロック 1 (# 6) の場合は 0. Figure 24 shows the results of test data (3). The fit value for block 1 (# 9) located in the center of the chip is 0.740964, and the fit value for block 1 (# 8) located in the upper left corner is 0.5586265. The conforming value of block 1 (# 7) located in the upper right corner is 0.231 984. The block 1 with the highest suitability for the lower left corner is block 1 (# 0), which has a fit value of 0.157509, and the block 1 with the next highest suitability is block 1 (# 1). ) And 0.121 322. If block 1 (# 4) is placed in the lower right corner, it will be 0.12 1 322.If block 1 (# 1) is placed in the lower right corner, the corresponding value will be 0.1 1 0256, and block 1 (# 0 in case of 6).
1 10256となる。 It becomes 1 10256.
このようにして得られた経験と予備的な実験によって分かることは、 適合値が 0. 2を下回った場合はそれが意味をなすかどうかは判断が困難であるとレ、うこ とである。  What we have learned from our experience and preliminary experiments is that if the fitted value falls below 0.2, it is difficult to judge whether it makes sense or not.
このことから、 左上隅および右上隅の場合は、 フアジィ推論 1 2により得られ た結果に基づいて配置されるブロック 1の適合性を明らかに上回るブロック 1は 存在しないことが分かる。 し力 しながら、 左下隅に対する配置では、 ブロック 1 (# 0) およびブロック 1 (# 1) がその他のブロック 1と比較してやや適合性 が高いといえる。 右下隅に対する配置では、 ブロック 1 (#4) およびブロック 1 (# 1) がやや適合性の高い候補であるといえる。 ブロック 1 (# 1) を右下 隅に配置した場合の適合値は 0. 1 1 0256であり、 逆に左下隅に配置した場 合の適合値は 0. 1 2 1 322である。 従って、 後者の場合について試行を行つ た。 ブロック 1 (# 9) を中央に配置すること、 ブロック 1 (# 8) を左上隅に 配置すること、 およびブロック 1 (# 7) を右上隅に配置することは固定的なも のとする。 このような条件の下で、 以下の 3通りの組み合わせの善し悪しを調べ ることにする。 すなわちブロック 1 (# 1) を左下隅にブロック 1 (#4) を右 下隅に配置する組み合わせ、 ブロック 1 (# 0) を左下隅にブロック 1 (#4) を右下隅に配置する組み合わせ、 ブロック 1 (# 0) を左下隅にブロック 1 (# 1) を右下隅に配置する組み合わせの 3通りである。 From this, it can be seen that in the upper left corner and upper right corner, no block 1 clearly exceeds the suitability of the block 1 arranged based on the result obtained by the fuzzy inference 12. However, in the arrangement with respect to the lower left corner, Block 1 (# 0) and Block 1 (# 1) are slightly more compatible than the other Block 1. Block 1 (# 4) and block It can be said that 1 (# 1) is a candidate with relatively high suitability. When block 1 (# 1) is placed in the lower right corner, the conforming value is 0.11 0256, and when block 1 (# 1) is placed in the lower left corner, the conforming value is 0.12 1322. Therefore, an attempt was made for the latter case. Placing Block 1 (# 9) in the center, placing Block 1 (# 8) in the upper left corner, and placing Block 1 (# 7) in the upper right corner are fixed. Under these conditions, the following three combinations are examined for their quality. Block 1 (# 1) in the lower left corner, block 1 (# 4) in the lower right corner, block 1 (# 0) in the lower left corner, block 1 (# 4) in the lower right corner, block 1 (# 0) is placed at the lower left corner and block 1 (# 1) is placed at the lower right corner.
ブロック 1 (# 1) を左下隅に、 ブロック 1 (#4) を右下隅に配置する組み 合わせが最良のコストパフォーマンスとなった。 この場合のコストは 6627で あり、 人手で行った場合の 660 1に近づいており、 遺伝的アルゴリズム 1 3の みで行った場合のコストが 9324であることと比較すると大きく改善している。 この結果を考察したところ、 テストデータ (1) とテストデータ (2) の場合 と同様に十分に満足のいくものであった。 従って、 この目的である 「半導体チッ プ設計などの複雑な設計の開始段階でよい初期条件を与える」 とレ、うことは達成 されたといえる。  Block 1 (# 1) in the lower left corner and Block 1 (# 4) in the lower right corner provided the best cost performance. The cost in this case is 6627, which is close to 6601 when performed manually, which is a large improvement compared to 9324 when performed only with the genetic algorithm 13. Considering the results, it was as satisfactory as in the case of test data (1) and test data (2). Therefore, this objective of "giving good initial conditions at the beginning of complex designs such as semiconductor chip design" has been achieved.
5. 4. コスト (評価関数値) の変化  5. 4. Changes in cost (value of evaluation function)
前記式 1により定義される評価関数に基づいてコス トが算出される。 図 25は テストデータ (1) の世代数に対するコストの変化を示すグラフである。  The cost is calculated based on the evaluation function defined by Equation 1 above. Figure 25 is a graph showing the change in cost with the number of generations of test data (1).
ランダムに発生された初期世代 (個体数 1 000) での遺伝的アルゴリズム 1 Genetic algorithm for randomly generated early generations (1 000 individuals) 1
3は世代生成 50回でコス トが収束してしまい、 コス トの 10000程度からそ れ以上の改善はほとんどない。 この遺伝的アルゴリズム 1 3は局所的最適条件に 落ち込んでしまった。 In case 3, the cost converges after 50 generations, and there is almost no improvement from the cost of about 10,000. This genetic algorithm 13 fell to the local optimum.
初期世代数を 1 000としてフアジィ推論 1 2を伴ったときの遺伝的アルゴリ ズム 1 3の場合は 45世代あたりで収束し、 この場合は熟練者が設計を行った場 合に対してほぼ同レベルに接近している。  Genetic algorithm with fuzzy inference 1 with the initial generation number set to 1 000 Converges around 45 generations in case of 13 and in this case is about the same level as when an expert designs Is approaching.
6 · ^口 0BH 従って、 前記図 1のステップ S 1 0 4のレイァゥト設計工程におけるフロアプ ランニングに適用した場合において、 V L S Iのフロアプランニングを行うにあ たっては、 遺伝的アルゴリズム 1 3の初期世代を準備するためにフアジィ推論 1 2を適用することを提案してきたが、 実験結果によりこれが実際的な応用にかな り可能性があることが分かった。 この目的は、 「半導体チップ設計などの複雑な 設計の開始段階でよい初期条件を与える」 ということにあるが、 この目的は概ね 達成することができた。 さらに、 実務的経験に基づいてフアジィ推論 1 2のパラ メータを一層適切に調整したり、 各ブロック 1の適合値が低い場合の遺伝子の扱 いなどを考慮することで、 設計効率と設計品質との両面でよりよい効果を得るこ とができる。 6 ^ mouth 0BH Therefore, when applied to floor planning in the layout design process of step S104 in FIG. Although we have proposed to apply 1 2, experimental results have shown that this may be quite practical. The purpose of this was to “provide good initial conditions at the beginning of complex designs such as semiconductor chip design”, but this goal was largely achieved. Furthermore, by adjusting the parameters of fuzzy inference 1 and 2 more appropriately based on practical experience, and by considering the handling of genes when the fitness value of each block 1 is low, the design efficiency and design quality can be improved. A better effect can be obtained on both sides.
次に、 前記図 1のステップ S 1 0 2の論理設計工程における論理クラスタ分割 に適用した一例を、 前記フロアプランニングと同様のフアジィ推論 1 2 a、 遺伝 的アルゴリズム 1 3 aを用いた場合について説明する。  Next, an example of application to the logical cluster division in the logical design process of step S102 in FIG. 1 will be described for a case in which the same fuzzy inference 12a and genetic algorithm 13a as in the above floorplanning are used. I do.
1 1 . 遺伝的アルゴリズムにおける論理クラスタ分割  1 1. Logical Cluster Partitioning in Genetic Algorithm
前記のような V L S Iの設計において、チップ全体を一括して処理することは、 データ規模の点から効率的ではなく、いくつかのプロック 1に分ける必要があり、 これは主にレイァゥトの段階で顕著になる。 大規模な回路を一括で自動配置 ·配 線することは、 ブロック 1内の実装率 (面積当たりのトランジスタ数) の低下を もたらし、 小規模な多数のブロック 1を使用することはブロック 1間の配線領域 の增大を招く。 この解決のためには論理データを適した範囲の大きさに分割する ことが効果的である。  In the VLSI design as described above, processing the whole chip at once is not efficient in terms of data scale, and it is necessary to divide it into several blocks, and this is noticeable mainly at the layout stage. become. Automatically arranging and wiring large circuits at once reduces the mounting rate (number of transistors per area) in block 1, and using a large number of small blocks 1 This leads to an increase in the wiring area. To solve this problem, it is effective to divide the logical data into suitable size ranges.
論理データは、通常、 たとえば図 2 6に一例を示すように階層的に作成される。 図 2 6でブロック 1 (A) は、 ブロック 1 ( B ) およびブロック 1 ( C ) とを結 線することで作成されており、 同様にブロック 1 ( B, C ) もさらに下位のプロ ック 1を結線することで作成される。 このような階層関係を表した例を、 たとえ ば図 2 6に示す。 図中、 A〜Zは論理素子 (ブロック 1 ) を表す。  Logical data is usually created hierarchically, for example, as shown in FIG. In Figure 26, Block 1 (A) is created by connecting Block 1 (B) and Block 1 (C). Similarly, Block 1 (B, C) is a lower-level block. It is created by connecting 1. An example of such a hierarchical relationship is shown in Fig. 26, for example. In the figure, A to Z represent logic elements (block 1).
このような論理データを、 その階層構造に着目し、 適したデータをグループに 分割することが、 論理クラスタの分割である。 この分割の例を、 たとえば図 2 8 に示す。 このクラスタ分割を、 前記フロアプランニングと同様に自動化する方法 の一例を以下に示す。 Dividing logical data into groups by focusing on the hierarchical structure of such logical data and dividing appropriate data into groups is called logical cluster division. Figure 28 shows an example of this division. A method for automating this cluster division in the same manner as the floor planning An example is shown below.
1 2 . 実施 1 2.
まず、 1つのブロック 1に含まれる論理素子数および内部ネット数が適した範 囲にあり、かつ外部との接続ネット数が少ないものをフアジィ推論により求める。 このとき、 図 2 8のブロック 1 ( C ) のように、 既にクラスタとして求めたもの を含む論理階層の場合、 そのクラスタを除いた範囲をクラスタとして考える。 図 2 7の例では、 クラスタ 3を除きクラスタ 2を作成する。 このフアジィ推論 1 2 aは、全ての階層のブロック 1について行い、該当したものだけをクラスタとし、 該当しない部分は未定のまま残す。  First, a block 1 in which the number of logic elements and the number of internal nets within an appropriate range and the number of nets connected to the outside are small is determined by fuzzy inference. At this time, in the case of a logical hierarchy that includes those already obtained as a cluster, as in block 1 (C) in Fig. 28, the range excluding that cluster is considered as a cluster. In the example of Figure 27, cluster 2 is created except cluster 3. This fuzzy inference 1 2a is performed on blocks 1 of all layers, and only those that correspond are used as clusters, and the parts that do not apply remain undecided.
次に、 残った部分に対し乱数的にクラスタの初期値を決定し、 遺伝的アルゴリ ズム 1 3 aにより最適解を求める。 このときの評価関数は、 (クラスタ内の論理 素子数とネット数から求めた推定面積 +プロック 1間ネット数から求めた推定配 線面積) とし、 これが最小のものを選択することで行う。 ここでの面積の推定方 法は、 経験的関数として予め定義しておく。  Next, the initial value of the cluster is randomly determined for the remaining part, and the optimal solution is obtained by the genetic algorithm 13a. The evaluation function at this time is (estimated area calculated from the number of logic elements and nets in the cluster + estimated wiring area calculated from the number of nets between blocks), and the function with the smallest value is selected. The method of estimating the area here is defined in advance as an empirical function.
なお、 面積を最小とする目的や、 このための評価関数は一例であり、 論理回路 を分割する目的に応じた推論ルールと評価関数を用意することで、 全ての論理回 路の分割を自動化することが可能となる。  Note that the purpose of minimizing the area and the evaluation function for this purpose are only examples.By preparing inference rules and evaluation functions according to the purpose of dividing a logic circuit, the division of all logic circuits is automated. It becomes possible.
1 3 · ? fe p冊  13 · ? fe p books
従って、 論理設計工程における論理クラスタ分割に適用した場合にも、 論理デ —タを適した範囲の大きさに分割することができるので、 大規模な回路を一括で 自動配置 ·配線する際のプロック 1内の実装率の低下を抑え、 小規模な多数のブ ロック 1を使用する際のプロック 1間の配線領域の増大を抑制することが可能で ある。  Therefore, even when applied to the logical cluster division in the logical design process, the logical data can be divided into appropriate size ranges. It is possible to suppress a decrease in the mounting rate within the block 1 and to suppress an increase in the wiring area between the blocks 1 when a large number of small blocks 1 are used.
以上、 本発明者によってなされた発明をその実施の形態に基づき具体的に説明 したが、 本発明は前記実施の形態に限定されるものではなく、 その要旨を逸脱し ない範囲で種々変更可能であることはいうまでもない。 たとえば、 遺伝的ァルゴ リズムの他に、 シミュレーテツド ·ァニーリングなどの他の最適化処理手法を用 いることも可能である。 あるいは、 フアジィ推論で得られた結果を制約条件 (初 期条件) として、 残りを他のヒューリスティック (発見的) 手法を用いることも 可能である。 産業上の利用可能性 As described above, the invention made by the inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the gist of the invention. Needless to say, there is. For example, in addition to the genetic algorithm, other optimization methods such as simulated annealing can be used. Alternatively, it is also possible to use the results obtained by fuzzy inference as constraints (initial conditions) and use the other heuristic (heuristic) methods for the rest. It is possible. Industrial applicability
以上のように、 本発明にかかる半導体装置の設計技術は、 特に V L S Iなどの 集積回路を実装する半導体チップ設計の初心者に対して、 複雑な設計の開始段階 でよい初期条件を与えることができる半導体装置の設計方法に有用であり、 この 半導体装置の設計方法をコンピュータに実行させるためのプログラムを記録した コンピュータ読み取り可能な記録媒体などにも適用することができる。  As described above, the semiconductor device design technique according to the present invention can provide a semiconductor device design novice, particularly a VLSI or the like, which can provide good initial conditions at the beginning of a complicated design to a beginner of a semiconductor chip design. It is useful for a device designing method, and can be applied to a computer-readable recording medium or the like in which a program for causing a computer to execute the semiconductor device designing method is recorded.

Claims

請 求 の 範 囲 The scope of the claims
1 . システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 1. A function design process for designing the function of the integrated circuit based on the system specifications;
前記機能設計工程により得られた設計データに基づいて前記集積回路を論理ゲ —トレベルで論理設計を行う論理設計工程と、  A logic design step of performing a logic design on the integrated circuit at a logic gate level based on the design data obtained in the function design step;
前記論理設計工程により得られた設計データに基づいて前記論理ゲートをトラ ンジスタレベルで回路設計を行う回路設計工程と、  A circuit design step of designing the logic gate at a transistor level based on the design data obtained in the logic design step;
前記論理設計工程により得られた設計データと、 前記回路設計工程により得ら れた設計データとに基づいて前記論理ゲートの配置 ·配線を行うレイァゥト設計 工程と、 を含み、 前記各設計工程の設計データの作成において、  A layout design step of arranging and wiring the logic gates based on the design data obtained in the logic design step and the design data obtained in the circuit design step; In creating the data,
フアジィ推論を用レ、て複数の設計データ群を作成する第 1工程と、  A first step of creating multiple design data groups using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 1工程により作成された複数の設計データ群と、 前記第 2工程により作 成された複数の設計データ群とに基づいて、 最適化処理手法を用いて適合度の高 V、設計データ群を選択する第 3工程と、  Based on the plurality of design data groups created in the first step and the plurality of design data groups created in the second step, a high-fitness V and design data group A third step of selecting
前記第 3工程により選択された設計データ群に基づいて、 前記最適化処理手法 を用いてさらに次の複数の設計データ群の作成を適合度の高い設計データ群を選 択しながら順次繰り返して、 最適解となる設計データ群を作成する第 4工程と、 を有することを特徴とする半導体装置の設計方法。  Based on the design data group selected in the third step, using the optimization processing method, further generation of a plurality of next design data groups is sequentially repeated while selecting a design data group having a high degree of conformity. A fourth step of creating a design data group that provides an optimum solution. A method for designing a semiconductor device, comprising:
2 . システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 2. A function design process for designing the function of the integrated circuit based on the system specifications;
前記機能設計工程により得られた設計データに基づいて前記集積回路を論理ゲ 一トレベルで論理設計を行う論理設計工程と、  A logic design step of performing a logic design of the integrated circuit at a logic gate level based on the design data obtained in the function design step;
前記論理設計工程により得られた設計データに基づいて前記論理ゲートをトラ ンジスタレベルで回路設計を行う回路設計工程と、  A circuit design step of designing the logic gate at a transistor level based on the design data obtained in the logic design step;
前記論理設計工程により得られた設計データと、 前記回路設計工程により得ら れた設計データとに基づいて前記論理ゲートの配置 ·配線を行うレイァゥト設計 工程と、 を含み、 前記各設計工程の設計データの作成において、  A layout design step of arranging and wiring the logic gates based on the design data obtained in the logic design step and the design data obtained in the circuit design step; In creating the data,
フアジィ推論を用いて最適解となる一部分の設計データ群を作成する第 1工程 と、 乱数的に複数の設計データ群を作成する第 2工程と、 A first step of creating a partial design data group that becomes an optimal solution using fuzzy inference; A second step of randomly generating a plurality of design data groups;
前記第 2工程により作成された複数の設計データ群に基づいて、 最適化処理手 法を用いて適合度の高い設計データ群を選択する第 3工程と、  A third step of selecting a design data group having a high degree of fitness using an optimization processing method based on the plurality of design data groups created in the second step;
前記第 3工程により選択された設計データ群に基づいて、 前記最適化処理手法 を用いてさらに次の複数の設計データ群の作成を適合度の高い設計データ群を選 択しながら順次繰り返して、 最適解となる他部分の設計データ群を作成する第 4 工程と、 を有することを特徴とする半導体装置の設計方法。  Based on the design data group selected in the third step, using the optimization processing method, further generation of a plurality of next design data groups is sequentially repeated while selecting a design data group having a high degree of conformity. A fourth step of creating a design data group of another part that becomes an optimal solution, and a method of designing a semiconductor device.
3 . 請求項 1または 2記載の半導体装置の設計方法であって、 前記レイアウト設 計工程は、 複数のプロックを半導体チップ上に配置 ·配線するフロアプランニン グであり、  3. The method for designing a semiconductor device according to claim 1, wherein the layout designing step is floor planning for arranging and wiring a plurality of blocks on a semiconductor chip.
前記最適化処理手法として遺伝的アルゴリズムを用い、 前記遺伝的ァルゴリズ ムの初期の設計データ群を前記フアジィ推論を用いて生成し、 前記最適解となる 設計データ群を用いて前記複数のブロックを前記半導体チップ上に配置すること を特徴とする半導体装置の設計方法。  A genetic algorithm is used as the optimization processing method, an initial design data group of the genetic algorithm is generated by using the fuzzy inference, and the plurality of blocks are generated by using the design data group that becomes the optimal solution. A method of designing a semiconductor device, wherein the method is arranged on a semiconductor chip.
4 . 請求項 3記載の半導体装置の設計方法であって、 前記フロアプランニングに おけるコーディングは、 4. The method for designing a semiconductor device according to claim 3, wherein the coding in the floor planning includes:
前記各プロックの中心 X— Y座標および回転と、 前記遺伝的アルゴリズムの染 色体とを対応付けすることを特徴とする半導体装置の設計方法。  A method of designing a semiconductor device, wherein a center X-Y coordinate and rotation of each block are associated with a chromosome of the genetic algorithm.
5 . 請求項 3記載の半導体装置の設計方法であって、 前記フロアプランニングに おける評価は、  5. The method for designing a semiconductor device according to claim 3, wherein the evaluation in the floor planning is:
前記各ブロック間の実質配線長を L i、 重複部分を S i、 指定領域からのはみ 出し部分を O V iとし、 重み付けの係数をひ, β, γとして、  The actual wire length between the blocks is L i, the overlapping portion is S i, the portion protruding from the designated area is O V i, and the weighting factors are β, γ,
E = a∑L i + j3∑S i + y∑O V i  E = a∑L i + j3∑S i + y∑O V i
の評価関数 Eより求めた値に基づいて前記各プロックの配置 ·配線を評価するこ とを特徴とする半導体装置の設計方法。 A semiconductor device design method characterized by evaluating the arrangement and wiring of each block based on the value obtained from the evaluation function E of (1).
6 . 請求項 3記載の半導体装置の設計方法であって、 前記フロアプランニングに おける突然変異は、  6. The method for designing a semiconductor device according to claim 3, wherein the mutation in the floor planning is:
前記複数のブロックのうち、 任意のブロックを所定の距離だけ所定の方向に動 かすとともに、 このプロックの向きを所定の方向に変更することを特徴とする半 導体装置の設計方法。 A half of the plurality of blocks is moved in a predetermined direction by a predetermined distance, and the direction of the block is changed to a predetermined direction. Design method of conductor device.
7 . 請求項 3記載の半導体装置の設計方法であって、 前記フロアプランニングに おける前記フアジィ推論は、  7. The method for designing a semiconductor device according to claim 3, wherein the fuzzy inference in the floor planning is:
前記半導体チップの中心部付近に配置されるプロックは Iノ0バッファに対し て接続性が低く、 寸法が小さいものを選択し、  A block arranged near the center of the semiconductor chip has a low connectivity to the I / O buffer and a small size.
前記半導体チップの隅に配置されるプロックは寸法が大きく、 隣接するプロッ クとの接続性が中程度のものを選択し、  The block arranged in the corner of the semiconductor chip has a large size and a medium block having a medium connectivity with an adjacent block is selected.
前記 I Ζοバッファに対して接続性が高いプロックは前記半導体チップの周辺 部に沿って配置する、  A block having high connectivity to the IΖο buffer is arranged along the periphery of the semiconductor chip,
というルールに基づくものであることを特徴とする半導体装置の設計方法。 A semiconductor device design method based on the following rule.
8 . 請求項 1または 2記載の半導体装置の設計方法であって、 前記論理設計工程 は、 複数のプロックをクラスタに分割する論理クラスタ分割であり、 8. The method for designing a semiconductor device according to claim 1, wherein the logical design step is a logical cluster division for dividing a plurality of blocks into clusters.
前記最適化処理手法として遺伝的アルゴリズムを用い、 前記遺伝的ァルゴリズ ムの初期の設計データ群を前記フアジィ推論を用いて生成し、 前記最適解となる 設計データ群を用いて前記複数のプロックを前記クラスタに分割することを特徴 とする半導体装置の設計方法。  A genetic algorithm is used as the optimization processing method, an initial design data group of the genetic algorithm is generated using the fuzzy inference, and the plurality of blocks are generated using the design data group that becomes the optimal solution. A method for designing a semiconductor device, comprising dividing the device into clusters.
9 . 請求項 8記載の半導体装置の設計方法であって、 前記論理クラスタ分割にお ける前記フアジィ推論は、  9. The method for designing a semiconductor device according to claim 8, wherein the fuzzy inference in the logical cluster division includes:
前記各ブロックに含まれる論理素子数および内部ネット数が所定の範囲にあり、 かつ外部との接続ネット数が少ないブロックを求める、 というルールに基づくも のであることを特徴とする半導体装置の設計方法。  A method for designing a semiconductor device, wherein the number of logic elements and the number of internal nets included in each block are within a predetermined range, and a block having a small number of external connection nets is determined. .
1 0 . 請求項 8記載の半導体装置の設計方法であって、 前記論理クラスタ分割に おける評価は、  10. The method for designing a semiconductor device according to claim 8, wherein the evaluation in the logical cluster division is:
前記クラスタ内の論理素子数とネット数とから求めた推定面積と、 前記ブロッ ク間のネット数から求めた推定配線面積と、 を加算した評価関数より求めた値に 基づいて前記クラスタの分割を評価することを特徴とする半導体装置の設計方法。 The cluster is divided based on a value obtained from an evaluation function obtained by adding an estimated area obtained from the number of logic elements and the number of nets in the cluster and an estimated wiring area obtained from the number of nets between the blocks. A method for designing a semiconductor device characterized by evaluating.
1 1 . システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 前記機能設計工程により得られた設計データに基づいて前記集積回路を論理ゲ 一トレベルで論理設計を行う論理設計工程と、 前記論理設計工程により得られた設計データに基づいて前記論理ゲートをトラ ンジスタレベルで回路設計を行う回路設計工程と、 11. A function design process for designing a function of an integrated circuit based on system specifications, and a logic design process for performing a logic design at a logic gate level on the integrated circuit based on design data obtained in the function design process. , A circuit design step of designing the logic gate at a transistor level based on the design data obtained in the logic design step;
前記論理設計工程により得られた設計データと、 前記回路設計工程により得ら れた設計データとに基づいて前記論理ゲートの配置 ·配線を行うレイァゥト設計 工程と、 を含み、 前記各設計工程の設計データの作成において、  A layout design step of arranging and wiring the logic gates based on the design data obtained in the logic design step and the design data obtained in the circuit design step; In creating the data,
フアジィ推論を用いて複数の設計データ群を作成する第 1工程と、  A first step of creating a plurality of design data groups using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 1工程により作成された複数の設計データ群と、 前記第 2工程により作 成された複数の設計データ群とに基づいて、 最適化処理手法を用いて適合度の高 い設計データ群を選択する第 3工程と、  Based on the plurality of design data groups created in the first step and the plurality of design data groups created in the second step, a design data group having a high degree of conformity is determined using an optimization processing method. A third step to choose,
前記第 3工程により選択された設計データ群に基づいて、 前記最適化処理手法 を用いてさらに次の複数の設計データ群の作成を適合度の高い設計データ群を選 択しながら順次繰り返して、 最適解となる設計データ群を作成する第 4工程と、 を有する半導体装置の設計方法をコンピュータに実行させるためのプログラム を記録したことを特徴とするコンピュータ読み取り可能な記録媒体。  Based on the design data group selected in the third step, the next plurality of design data groups are sequentially repeated using the optimization processing method while sequentially selecting design data groups having a high degree of conformity, A computer-readable recording medium, which records a program for causing a computer to execute a method of designing a semiconductor device having a fourth step of creating a design data group that becomes an optimal solution.
1 2 . システム仕様に基づいて集積回路の機能設計を行う機能設計工程と、 前記機能設計工程により得られた設計データに基づいて前記集積回路を論理ゲ ―トレベルで論理設計を行う論理設計工程と、  1 2. A function design step of designing a function of an integrated circuit based on system specifications, and a logic design step of performing a logic design of the integrated circuit at a logic gate level based on design data obtained in the function design step. ,
前記論理設計工程により得られた設計データに基づいて前記論理ゲートをトラ ンジスタレベルで回路設計を行う回路設計工程と、  A circuit design step of designing the logic gate at a transistor level based on the design data obtained in the logic design step;
前記論理設計工程により得られた設計データと、 前記回路設計工程により得ら れた設計データとに基づいて前記論理ゲートの配置 ·配線を行うレイァゥト設計 工程と、 を含み、 前記各設計工程の設計データの作成において、  A layout design step of arranging and wiring the logic gates based on the design data obtained in the logic design step and the design data obtained in the circuit design step; In creating the data,
フアジィ推論を用いて最適解となる一部分の設計データ群を作成する第 1工程 と、  A first step of creating a partial design data group that becomes an optimal solution using fuzzy inference;
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 2工程により作成された複数の設計データ群に基づいて、 最適化処理手 法を用いて適合度の高い設計データ群を選択する第 3工程と、  A third step of selecting a design data group having a high degree of fitness using an optimization processing method based on the plurality of design data groups created in the second step;
前記第 3工程により選択された設計データ群に基づいて、 前記最適化処理手法 を用いてさらに次の複数の設計データ群の作成を適合度の高い設計データ群を選 択しながら順次繰り返して、 最適解となる他部分の設計データ群を作成する第 4 工程と、 Based on the design data group selected in the third step, the optimization processing method A fourth step of successively repeating the creation of the next plurality of design data groups while selecting a design data group having a high degree of conformity by using the above to create another part of the design data group that becomes an optimal solution; and
を有する半導体装置の設計方法をコンピュータに実行させるためのプログラム を記録したことを特徴とするコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium on which a program for causing a computer to execute a method of designing a semiconductor device having the above is recorded.
1 3 . 請求項 1 1または 1 2記載のコンピュータ読み取り可能な記録媒体であつ て、 前記レイアウト設計工程は、 複数のブロックを半導体チップ上に配置 ·配線 するフロアプランニングであり、  13. The computer-readable recording medium according to claim 11 or 12, wherein the layout designing step is floor planning for arranging and wiring a plurality of blocks on a semiconductor chip.
前記最適化処理手法として遺伝的アルゴリズムを用い、 前記遺伝的ァルゴリズ ムの初期の設計データ群を前記フアジィ推論を用いて生成し、 前記最適解となる 設計データ群を用いて前記複数のブロックを前記半導体チップ上に配置すること を特徴とするコンピュータ読み取り可能な記録媒体。  A genetic algorithm is used as the optimization processing method, an initial design data group of the genetic algorithm is generated by using the fuzzy inference, and the plurality of blocks are generated by using the design data group that becomes the optimal solution. A computer-readable recording medium, which is arranged on a semiconductor chip.
1 4 . 請求項 1 3記載のコンピュータ読み取り可能な記録媒体であって、 前記フ ロアプランニングにおけるコーディングは、  14. The computer-readable recording medium according to claim 13, wherein the coding in the floor planning is:
前記各ブロックの中心 X— Y座標おょぴ回転と、 前記遺伝的アルゴリズムの染 色体とを対応付けすることを特徴とするコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium, wherein a rotation of a center X-Y coordinate of each block is associated with a chromosome of the genetic algorithm.
1 5 . 請求項 1 3記載のコンピュータ読み取り可能な記録媒体であって、 前記フ ロアプランニングにおける評価は、 15. The computer-readable recording medium according to claim 13, wherein the evaluation in the floor planning is:
前記各ブロック間の実質配線長を L i、 重複部分を S i、 指定領域からのはみ 出し部分を〇V iとし、 重み付けの係数をひ, β , γとして、  The actual wiring length between the blocks is L i, the overlapping part is S i, the part protruding from the specified area is ΔV i, and the weighting coefficients are β, γ,
Ε = α∑ L i + |3∑ S i + y∑O V i  Ε = α∑ L i + | 3∑ S i + y∑O V i
の評価関数 Eより求めた値に基づいて前記各プロックの配置 ·配線を評価するこ とを特徴とするコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium characterized in that the arrangement and wiring of each block are evaluated based on a value obtained from the evaluation function E.
1 6 . 請求項 1 3記載のコンピュータ読み取り可能な記録媒体であって、 前記フ ロアプランニングにおける突然変異は、  16. The computer-readable recording medium according to claim 13, wherein the mutation in the floor plan is:
前記複数のブロックのうち、 任意のブロックを所定の距離だけ所定の方向に動 かすとともに、 このプロックの向きを所定の方向に変更することを特徴とするコ ンピュータ読み取り可能な記録媒体。  A computer-readable recording medium characterized in that an arbitrary block among the plurality of blocks is moved in a predetermined direction by a predetermined distance, and the direction of the block is changed in a predetermined direction.
1 7 . 請求項 1 3記載のコンピュータ読み取り可能な記録媒体であって、 前記フ ロアプランニングにおける前記フアジィ推論は、 17. The computer-readable recording medium according to claim 13, wherein the file The fuzzy inference in lower planning is:
前記半導体チップの中心部付近に配置ざれるプロックは I ζοバッファに対し て接続性が低く、 寸法が小さいものを選択し、  Blocks that are placed near the center of the semiconductor chip should have low connectivity to the Iζο buffer and small dimensions.
前記半導体チップの隅に配置されるプロックは寸法が大きく、 隣接するプロッ クとの接続性が中程度のものを選択し、  The block arranged in the corner of the semiconductor chip has a large size and a medium block having a medium connectivity with an adjacent block is selected.
前記 I ZOバッファに対して接続性が高いプロックは前記半導体チップの周辺 部に沿って配置する、  A block having high connectivity to the IZO buffer is arranged along the periphery of the semiconductor chip,
というルールに基づくものであることを特徴とするコンピュータ読み取り可能 な記録媒体。  A computer-readable recording medium based on the following rule.
1 8 . 請求項 1 1または 1 2記載のコンピュータ読み取り可能な記録媒体であつ て、 前記論理設計工程は、 複数のブロックをクラスタに分割する論理クラスタ分 割であり、 18. The computer-readable storage medium according to claim 11, wherein the logical design step is a logical cluster division that divides a plurality of blocks into clusters.
前記最適化処理手法として遺伝的アルゴリズムを用い、 前記遺伝的ァルゴリズ ムの初期の設計データ群を前記フアジィ推論を用いて生成し、 前記最適解となる 設計データ群を用いて前記複数のプロックを前記クラスタに分割することを特徴 とするコンピュータ読み取り可能な記録媒体。  A genetic algorithm is used as the optimization processing method, an initial design data group of the genetic algorithm is generated using the fuzzy inference, and the plurality of blocks are generated by using the design data group that becomes the optimal solution. A computer-readable recording medium characterized by being divided into clusters.
1 9 . 請求項 8記載のコンピュータ読み取り可能な記録媒体であって、 前記論 理クラスタ分割における前記フアジィ推論は、  19. The computer-readable recording medium according to claim 8, wherein the fuzzy inference in the logical cluster division is:
前記各プロックに含まれる論理素子数および内部ネット数が所定の範囲にあり、 かつ外部との接続ネット数が少ないブロックを求める、 というルールに基づくも のであることを特徴とするコンピュータ読み取り可能な記録媒体。  Computer-readable recording based on the rule that the number of logic elements and the number of internal nets included in each block are within a predetermined range and a block having a small number of external connection nets is determined. Medium.
2 0 . 請求項 1 8記載のコンピュータ読み取り可能な記録媒体であって、 前記論 理クラスタ分割における評価は、  20. The computer-readable recording medium according to claim 18, wherein the evaluation in the logical cluster division is:
前記クラスタ内の論理素子数とネット数とから求めた推定面積と、 前記ブロッ ク間のネット数から求めた推定配線面積と、 を加算した評価関数より求めた値に 基づいて前記クラスタの分割を評価することを特徴とするコンピュータ読み取り 可能な記録媒体。  The cluster is divided based on a value obtained from an evaluation function obtained by adding an estimated area obtained from the number of logic elements and the number of nets in the cluster and an estimated wiring area obtained from the number of nets between the blocks. A computer-readable recording medium characterized by being evaluated.
2 1 . フアジィ推論を用いて設計データを作成する第 1工程と、  2 1. The first step of creating design data using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、 前記第 1工程により作成された設計データと、 前記第 2工程により作成された 複数の設計データ群とに基づいて、 最適化処理手法により適合度の高い設計デー タを含む設計データ群を選択する第 3工程と、 A second step of randomly generating a plurality of design data groups; Based on the design data created in the first step and the plurality of design data groups created in the second step, a design data group including design data with high adaptability is selected by an optimization processing method. The third step,
前記第 3工程により選択された設計データ群に基づいて、 最適化処理手法によ り適合度の高い設計データを含む設計データ群を選択する第 4工程と、 を有する ことを特徴とする半導体装置の設計方法。  A semiconductor device comprising: a fourth step of selecting a design data group including design data having a high degree of conformity by an optimization processing method based on the design data group selected in the third step. Design method.
2 2 . フアジィ推論を用いて一部分の設計データを作成する第 1工程と、  2 2. The first step of creating partial design data using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 2工程により作成された複数の設計データ群に基づいて、 最適化処理手 法により適合度の高い設計データを含む設計データ群を選択する第 3工程と、 前記第 3工程により選択された設計データ群に基づいて、 最適化処理手法によ り適合度の高い設計データ群を選択する第 4工程と、 を有することを特徴とする 半導体装置の設計方法。  A third step of selecting a design data group including design data having a high degree of conformity by an optimization processing method based on the plurality of design data groups created in the second step; and A fourth step of selecting a design data group having a high degree of conformity by an optimization processing method based on the design data group, and a fourth step of designing the semiconductor device.
2 3 . 請求項 2 2記載の半導体装置の設計方法であって、 前記最適化処理手法と して遺伝的アルゴリズムを用い、 前記遺伝的アルゴリズムの初期の設計データを 前記フアジィ推論を用いて生成することを特徴とする半導体装置の設計方法。  23. The method for designing a semiconductor device according to claim 22, wherein a genetic algorithm is used as the optimization processing method, and initial design data of the genetic algorithm is generated using the fuzzy inference. A method for designing a semiconductor device.
2 4. フアジィ推論を用いて設計データを作成する第 1工程と、 2 4. The first step of creating design data using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 1工程により作成された設計データと、 前記第 2工程により作成された 複数の設計データ群とに基づいて、 最適化処理手法により適合度の高い設計デー タを含む設計データ群を選択する第 3工程と、  Based on the design data created in the first step and the plurality of design data groups created in the second step, a design data group including design data with high adaptability is selected by an optimization processing method. The third step,
前記第 3工程により選択された設計データ群に基づいて、 最適化処理手法によ り適合度の高い設計データを含む設計データ群を選択する第 4工程と、  A fourth step of selecting a design data group including design data having a high degree of conformity by an optimization processing method based on the design data group selected in the third step;
をコンピュータに実行させるためのプログラムを記録したことを特徴とするコ ンピュータ読み取り可能な記録媒体。  And a computer-readable recording medium having recorded thereon a program for causing a computer to execute the program.
2 5 . フアジィ推論を用いて一部分の設計データを作成する第 1工程と、  25. The first step of creating partial design data using fuzzy inference,
乱数的に複数の設計データ群を作成する第 2工程と、  A second step of randomly generating a plurality of design data groups;
前記第 2工程により作成された複数の設計データ群に基づいて、 最適化処理手 法により適合度の高い設計デ一タを含む設計データ群を選択する第 3工程と、 前記第 3工程により選択された設計デ一タ群に基づいて、 最適化処理手法によ り適合度の高い設計データ群を選択する第 4工程と、 A third step of selecting a design data group including design data having a high degree of conformity by an optimization processing method based on the plurality of design data groups created in the second step; A fourth step of selecting a design data group having a high degree of conformity by an optimization processing method based on the design data group selected in the third step;
をコンピュータに実行させるためのプログラムを記録したことを特徴とするコ ンピュータ読み取り可能な記録媒体。  And a computer-readable recording medium having recorded thereon a program for causing a computer to execute the program.
2 6 . 請求項 2 5記載のコンピュータ読み取り可能な記録媒体であって、 前記最 適化処理手法として遺伝的アルゴリズムを用い、 前記遺伝的アルゴリズムの初期 の設計データを前記フアジィ推論を用いて生成することを特徴とするコンビュ一 タ読み取り可能な記録媒体。 26. The computer-readable recording medium according to claim 25, wherein a genetic algorithm is used as the optimization processing method, and initial design data of the genetic algorithm is generated using the fuzzy inference. A computer-readable recording medium characterized by the above-mentioned.
2 7 . 請求項 2 1記載の半導体装置の設計方法であって、 前記フアジィ推論にお いては、 メンバーシップ関数が利用されていることを特徴とする半導体装置の設 計方法。  27. The method for designing a semiconductor device according to claim 21, wherein a membership function is used in the fuzzy inference.
2 8 . 請求項 2 3記載の半導体装置の設計方法であって、 前記フアジィ推論にお いては、 メンバーシップ関数が利用されていることを特徴とする半導体装置の設 計方法。  28. The method for designing a semiconductor device according to claim 23, wherein a membership function is used in said fuzzy inference.
2 9 . 請求項 2 4記載のコンピュータ読み取り可能な記録媒体であって、 前記フ ァジィ推論においては、 メンバーシップ関数が利用されていることを特徴とする コンピュ一タ読み取り可能な記録媒体。 29. The computer-readable recording medium according to claim 24, wherein a membership function is used in said fuzzy inference.
3 0 . 請求項 2 6記載のコンピュータ読み取り可能な記録媒体であって、 前記フ アジィ推論においては、 メンバーシップ関数が利用されていることを特徴とする コンピュータ読み取り可能な記録媒体。  30. The computer-readable recording medium according to claim 26, wherein a membership function is used in said fuzzy inference.
3 1 . メンバーシップ関数を利用して設計データを作成する第 1工程と、  3 1. The first step of creating design data using the membership function,
複数の設計データ群を作成する第 2工程と、  A second step of creating a plurality of design data groups;
前記第 1工程により作成された設計データと、 前記第 2工程により作成された 複数の設計データ群とに基づいて、 最適化処理手法により適合度の高レ、設計デー タを含む設計データ群を選択する第 3工程と、  Based on the design data created in the first step and the plurality of design data groups created in the second step, a design data group including the design data having a high degree of conformity is obtained by an optimization processing method. A third step to choose,
前記第 3工程により選択された設計データ群に基づいて、 最適化処理手法によ り適合度の高い設計データ群を選択する第 4工程と、 を含むことを特徴とする半 導体装置の設計方法。  A fourth step of selecting a design data group having a high degree of suitability by an optimization processing method based on the design data group selected in the third step, and a fourth step of designing the semiconductor device. .
3 2 . 請求項 3 1記載の半導体装置の設計方法であって、 前記第 2工程は、 乱数 的に前記複数の設計データ群を作成することを特徴とする半導体装置の設計方法。 32. The method for designing a semiconductor device according to claim 31, wherein the second step is a random number. A method of designing a semiconductor device, wherein the plurality of design data groups are created.
3 3 . 請求項 3 2記載の半導体装置の設計方法であって、 前記最適化処理手法へ 提供されるデータのうち、 一部が前記第 1工程により作成された設計データであ り、 一部が前記第 2工程により作成された設計データであることを特徴とする半 導体装置の設計方法。 33. The semiconductor device design method according to claim 32, wherein a part of data provided to the optimization processing method is design data created in the first step, and a part of the data is provided. Is a design data created in the second step.
3 4 . メンバーシップ関数を利用して設計データを作成する第 1工程と、  3 4. The first step of creating design data using membership functions,
複数の設計データ群を作成する第 2工程と、  A second step of creating a plurality of design data groups;
前記第 1工程により作成された設計データと、 前記第 2工程により作成された 複数の設計データ群とに基づいて、 最適化処理手法により適合度の高い設計デ一 タを含む設計データ群を選択する第 3工程と、  Based on the design data created in the first step and the plurality of design data groups created in the second step, a design data group including design data with a high degree of conformity is selected by an optimization processing method. A third step,
前記第 3工程により選択された設計データ群に基づいて、 最適化処理手法によ り適合度の高い設計データ群を選択する第 4工程と、  A fourth step of selecting a design data group having a high degree of conformity by an optimization processing method based on the design data group selected in the third step;
をコンピュータに実行させるためのプログラムを記録したことを特徴とするコ ンピュータ読み取り可能な記録媒体。  And a computer-readable recording medium having recorded thereon a program for causing a computer to execute the program.
3 5 . 請求項 3 4記載のコンピュータ読み取り可能な記録媒体であって、 前記第 2工程は、 乱数的に前記複数の設計データ群を作成することを特徴とするコンビ ユータ読み取り可能な記録媒体。 35. The computer-readable recording medium according to claim 34, wherein in the second step, the plurality of design data groups are randomly generated.
3 6 . 請求項 3 5記載のコンピュータ読み取り可能な記録媒体であって、 前記最 適化処理手法へ提供されるデータのうち、 一部が前記第 1工程により作成された 設計データであり、 一部が前記第 2工程により作成された設計データであること を特徴とするコンピュータ読み取り可能な記録媒体。  36. The computer-readable recording medium according to claim 35, wherein a part of data provided to the optimization processing method is design data created in the first step. A computer-readable recording medium, wherein the unit is the design data created in the second step.
PCT/JP1999/001729 1999-04-01 1999-04-01 Method for designing semiconductor device and computer-readable recording medium WO2000060660A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/001729 WO2000060660A1 (en) 1999-04-01 1999-04-01 Method for designing semiconductor device and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/001729 WO2000060660A1 (en) 1999-04-01 1999-04-01 Method for designing semiconductor device and computer-readable recording medium

Publications (1)

Publication Number Publication Date
WO2000060660A1 true WO2000060660A1 (en) 2000-10-12

Family

ID=14235370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/001729 WO2000060660A1 (en) 1999-04-01 1999-04-01 Method for designing semiconductor device and computer-readable recording medium

Country Status (1)

Country Link
WO (1) WO2000060660A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199329A (en) * 1990-11-29 1992-07-20 Toshiba Corp Logic synthetic system
JPH04338876A (en) * 1991-05-16 1992-11-26 Mitsubishi Heavy Ind Ltd Automatic design device
JPH04344572A (en) * 1991-05-21 1992-12-01 Matsushita Electric Ind Co Ltd Wiring delay optimizing method
JPH0652250A (en) * 1992-07-31 1994-02-25 Omron Corp Automatic function generating device
JPH06290225A (en) * 1993-03-31 1994-10-18 Mazda Motor Corp Design support device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04199329A (en) * 1990-11-29 1992-07-20 Toshiba Corp Logic synthetic system
JPH04338876A (en) * 1991-05-16 1992-11-26 Mitsubishi Heavy Ind Ltd Automatic design device
JPH04344572A (en) * 1991-05-21 1992-12-01 Matsushita Electric Ind Co Ltd Wiring delay optimizing method
JPH0652250A (en) * 1992-07-31 1994-02-25 Omron Corp Automatic function generating device
JPH06290225A (en) * 1993-03-31 1994-10-18 Mazda Motor Corp Design support device

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
GU Z. C., et al., "Special Selection on VLSI Design and CAD Algorithms A Fuzzy-Theoretic Timing Driven Placement Method", IEICE Trans Fundam Electron Commun Comput Sci, 1992, Vol. E75-A, No. 10, pages 1280-1285. *
GU Z. C., YAMADA S., YONEDA S., "Timing Driven Placement Based on Fuzzy Theory", IEICE Trans Fundam Electron Commun Comput Sci, 1992, Vol. E75-A, No. 7, pages 917-919. *
JAYABHARATHI R., MANZOUL M. A., "Fuzzy logic for standard cell placement", Cybern Syst, 1993, Vol. 24, No. 3, pages 197-215. *
LIN R-B., SHRAGOWITZ E., "Fuzzy Logic Approach to Placement Problem", Proc Des Autom Conf, 1992, Vol. 29, pages 153-158. *
SHRAGOWITZ E., KANG E. Q., LEE J-Y., "Application of Fuzzy Logic in Computer-Aided VLSI Design", IEEE Trans Fuzzy Syst, 1998, Vol. 6, No. 1, pages 163-172. *
YAN J-T., "Area-Ratio-Constrained Min-Cut Partitioning for Row-Based Placement", Proc IEEE Midwest Symp Circuits Syst, 1994, 37th, Vol. 1, pages 403-406. *
YAN J-T., HSIAO P-Y., "Orientation Assignment of Standard Cells Using A Fuzzy Mathematical Transformation", Tencon, 1994, Vol. 2, pages 1014-1019. *

Similar Documents

Publication Publication Date Title
CN111125995B (en) Test pattern generation system and method
US6574779B2 (en) Hierarchical layout method for integrated circuits
EP4097624A1 (en) Generating integrated circuit placements using neural networks
JPH01309185A (en) Computer aided designing system for asic
CN106249705B (en) Assembly system configuration
US20060236291A1 (en) Analytical placement method and apparatus
Xin et al. An efficient method of automatic assembly sequence planning for aerospace industry based on genetic algorithm
US7623139B1 (en) Design and modeling system and methods
Culverhouse Constraining designers and their CAD tools
Hsu et al. Synthesis of design concepts from a design for assembly perspective
TW202324176A (en) A computer system, method and computer network for architectural design placement
Halim et al. Single-machine integrated production preventive maintenance scheduling: A simheuristic approach
Turner et al. Selecting an appropriate metamodel: the case for NURBs metamodels
WO2000060660A1 (en) Method for designing semiconductor device and computer-readable recording medium
US12293468B2 (en) System and method of generating smooth spline surface model preserving feature of physical object
Hungerländer A semidefinite optimization approach to the parallel row ordering problem
WO2024039414A1 (en) Alignment cost for integrated circuit placement
JP4153671B2 (en) Discrete event control system and production process simulation method using discrete event control system
Chang et al. VLSI circuit placement with rectilinear modules using three-layer force-directed self-organizing maps
KR20220150703A (en) Neural architecture search method with dynamic exploration, and computer program thereof stored in medium
Zhang et al. Optimization of Macro Placement Using Genetic Algorithm
Gandhi A Reinforcement Learning-Based Framework to Generate Routing Solutions and Correct Violations in VLSI Physical Design
Eguchi et al. Fuzzy inference for the initial population of genetic algorithms applied to VLSI floorplanning design
Herrling et al. Optimization of micro-coaxial wire routing in complex microelectronic systems
Talavage Simulating manufacturing systems: Computer simulations permit run-throughs of systems before they are built and evaluation of proposed changes without shutting existing systems down

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 610060

Kind code of ref document: A

Format of ref document f/p: F

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载