JP2009237904A - Method for creating design data for semiconductor integrated circuit - Google Patents

Method for creating design data for semiconductor integrated circuit Download PDF

Info

Publication number
JP2009237904A
JP2009237904A JP2008083324A JP2008083324A JP2009237904A JP 2009237904 A JP2009237904 A JP 2009237904A JP 2008083324 A JP2008083324 A JP 2008083324A JP 2008083324 A JP2008083324 A JP 2008083324A JP 2009237904 A JP2009237904 A JP 2009237904A
Authority
JP
Japan
Prior art keywords
hard macro
buffer
library
circuit block
timing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008083324A
Other languages
Japanese (ja)
Inventor
Koji Oya
功二 大屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008083324A priority Critical patent/JP2009237904A/en
Publication of JP2009237904A publication Critical patent/JP2009237904A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To secure the drive of the stable performance of hard macro on an LSI chip. <P>SOLUTION: This method for creating design data of a semiconductor integrated circuit includes steps for: creating a circuit block library in which the shape information, terminal position information and timing information of a circuit block are described; creating a netlist in which the connection information of a circuit block and a module circuit having a unit cell connected to the circuit block is described; creating layout data of the module circuit in which a circuit block arrangement region in which the circuit block is arranged and a unit cell arrangement region in which the unit cell is arranged are arranged in a prescribed state by using a unit cell library in which the shape information, terminal position information and timing information of the unit cell are described, the circuit block library and the netlist. The timing information of the circuit block when the circuit block arrangement region and the unit cell arrangement region are arranged in prescribed states is described in the circuit block library. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、コンピュータによる設計に用いられる半導体集積回路の設計データの作成方法に関する。   The present invention relates to a method for creating design data of a semiconductor integrated circuit used for designing by a computer.

秘匿情報を含むハードマクロ回路(以下、ハードマクロともいう)を使用してLarge Scale Integration(LSI、大規模集積回路)チップの設計を行う場合、ハードマクロ設
計者は、ハードマクロの回路構造を開示せずにハードマクロの設計データをLSIチップ設計者に提供する必要がある。ハードマクロの設計データとして、ハードマクロの枠サイズ及び端子位置の座標情報を含むレイアウトデータ、ハードマクロのタイミング規格(タイミング条件ともいう)を含むタイミングライブラリがLSIチップ設計者に提供される。LSIチップの設計状況に応じて、ハードマクロの外部端子に接続されるセルの配置が異なるため、ハードマクロとLSIチップとのインターフェースにおけるタイミング規格も異なる。一般的に、ハードマクロのタイミングライブラリは、ハードマクロの設計者の想定範囲内で十分に検証されている。
特開平11−307728号公報 特開2004−15032号公報
When designing a large scale integration (LSI, large scale integrated circuit) chip using a hard macro circuit containing confidential information (hereinafter also referred to as a hard macro), the hard macro designer discloses the circuit structure of the hard macro. Therefore, it is necessary to provide hard macro design data to the LSI chip designer. As hard macro design data, LSI chip designers are provided with layout data including coordinate information of hard macro frame size and terminal position, and a timing library including hard macro timing standards (also referred to as timing conditions). Since the arrangement of cells connected to the external terminals of the hard macro differs depending on the design status of the LSI chip, the timing standards at the interface between the hard macro and the LSI chip also differ. In general, a hard macro timing library is sufficiently verified within the scope of a hard macro designer.
Japanese Patent Laid-Open No. 11-307728 JP 2004-15032 A

汎用的に用いられるハードマクロを設計する段階では、ハードマクロやハードマクロに接続されるセルが、LSIチップにどのように配置配線されるのかを、ハードマクロ設計者が確定することは困難である。そのため、ハードマクロ設計者は、LSIチップ上でハードマクロが配置配線される状況を多数想定することによりハードマクロのタイミングライブラリを作成し、LSIチップ設計者に提供している。しかし、LSIチップの設計においてハードマクロ設計者の想定範囲外の配置配線が行われた場合、その配置配線におけるタイミング規格は十分に検証されたものではなく、動作不具合が起こり得る可能性がある。本発明は、LSIチップ上でハードマクロが安定した性能で駆動できる技術の提供を目的とする。   At the stage of designing a general-purpose hard macro, it is difficult for the hard macro designer to determine how the hard macro and the cells connected to the hard macro are arranged and routed on the LSI chip. . Therefore, a hard macro designer creates a hard macro timing library by assuming a large number of situations in which hard macros are arranged and wired on an LSI chip, and provides them to the LSI chip designer. However, if the placement and routing outside the range assumed by the hard macro designer is performed in the LSI chip design, the timing standard for the placement and routing is not fully verified, and there is a possibility that an operation failure may occur. An object of the present invention is to provide a technique that allows a hard macro to be driven on an LSI chip with stable performance.

本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、コンピュータによる設計に用いられる半導体集積回路の設計データの作成方法であって、コンピュータが、所定の機能を有する回路ブロックの形状情報、端子位置情報及びタイミング情報が記述された回路ブロックライブラリを作成するステップと、前記回路ブロック及び前記回路ブロックに接続するユニットセルを有するモジュール回路の接続情報が記述されたネットリストを作成するステップと、前記ユニットセルの形状情報、端子位置情報及びタイミング情報が記述されたユニットセルライブラリ、前記回路ブロックライブラリ及び前記ネットリストを使用して、前記回路ブロックが配置される回路ブロック配置領域と前記ユニットセルが配置されるユニットセル配置領域とが所定状態で設けられている前記モジュール回路のレイアウトデータを作成するステップと、を実行し、前記回路ブロックライブラリは、前記回路ブロック配置領域と前記ユニットセル配置領域とが所定状態で設けられている場合の前記回路ブロックのタイミング情報が記述されている。   The present invention employs the following means in order to solve the above problems. That is, the present invention is a method for creating design data of a semiconductor integrated circuit used for design by a computer, in which the computer describes circuit block shape information, terminal position information, and timing information having predetermined functions. Creating a block library; creating a netlist in which connection information of module circuits having unit cells connected to the circuit blocks and the circuit blocks is described; shape information of the unit cells; terminal position information; Using a unit cell library in which timing information is described, the circuit block library, and the netlist, a circuit block arrangement area in which the circuit block is arranged and a unit cell arrangement area in which the unit cell is arranged are in a predetermined state. The moji provided in Generating layout data of a module circuit, and the circuit block library includes timing information of the circuit block when the circuit block arrangement area and the unit cell arrangement area are provided in a predetermined state. Is described.

本作成方法によって作成されるモジュール回路のレイアウトデータは、回路ブロック配置領域とユニットセル配置領域とが所定状態で設けられている。そして、本作成方法によって作成される回路ブロックライブラリには、回路ブロック配置領域とユニットセル配置
領域とが所定状態で設けられている場合の回路ブロックのタイミング情報が記述されている。したがって、モジュール回路のレイアウトデータを使用してLSIチップの設計を行った場合、LSIチップ上におけるハードマクロの安定した性能での駆動を確保することが可能となる。
In the layout data of the module circuit created by this creation method, a circuit block placement area and a unit cell placement area are provided in a predetermined state. The circuit block library created by this creation method describes circuit block timing information when the circuit block placement area and the unit cell placement area are provided in a predetermined state. Therefore, when the LSI chip is designed using the layout data of the module circuit, it is possible to ensure driving with stable performance of the hard macro on the LSI chip.

また、本発明は、以上のいずれかの処理を実行するコンピュータその他の装置、機械等であってもよい。また、本発明は、コンピュータその他の装置、機械等に、以上のいずれかの機能を実現させるプログラムであってもよい。また、本発明は、そのようなプログラムをコンピュータ等が読み取り可能な記録媒体に記録したものでもよい。   In addition, the present invention may be a computer or other device, machine, or the like that executes any one of the processes described above. Furthermore, the present invention may be a program that causes a computer, other devices, machines, or the like to realize any of the above functions. Further, the present invention may be a program in which such a program is recorded on a computer-readable recording medium.

本発明によれば、LSIチップ上のハードマクロを安定した性能で駆動させることが可能となる。   According to the present invention, it is possible to drive a hard macro on an LSI chip with stable performance.

以下、図面に基づいて、本発明を実施するための最良の形態(以下、実施形態という)に係る設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。   A design support apparatus according to the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described below with reference to the drawings. The configuration of the following embodiment is an exemplification, and the present invention is not limited to the configuration of the embodiment.

<システムの概要>
本設計支援装置は、レイアウト作成システムを起動し、ハードマクロのネットリスト、セルライブラリを使用して、ハードマクロのレイアウトデータを作成する。ハードマクロは、所定の機能を実現する機能ブロック(回路ブロックともいう)であり、例えば、Central Processing Unit(CPU)、Random Access Memory(RAM)、Read Only Memory
(ROM)等の機能を有する。また、ハードマクロは、論理ブロックの配置や内部配線が予め固定されたコアである。
<System overview>
The design support apparatus activates a layout creation system and creates hard macro layout data using a hard macro netlist and cell library. A hard macro is a functional block (also called a circuit block) that realizes a predetermined function. For example, a central processing unit (CPU), a random access memory (RAM), a read only memory
(ROM) etc. The hard macro is a core in which the arrangement of logic blocks and internal wiring are fixed in advance.

ハードマクロのネットリストは、ハードマクロが備えるセルの接続情報が記述されたデータである。セルライブラリは、セルのサイズ(大きさ)、形状、端子位置の座標情報等が記述されたデータ及びセルのタイミング情報が記述されたデータを含む。ハードマクロのレイアウトデータは、ハードマクロが備えるセルの配置情報及びセル間の配線情報を含むデータである。すなわち、ハードマクロのレイアウトデータは、ハードマクロ内部のレイアウトを記述したデータである。   The hard macro netlist is data in which cell connection information included in the hard macro is described. The cell library includes data in which cell size (size), shape, coordinate information of terminal positions, and the like are described, and data in which cell timing information is described. The hard macro layout data is data including cell placement information and wiring information between the cells. That is, the hard macro layout data is data describing the layout of the hard macro.

また、本設計支援装置は、ライブラリ作成システムを起動し、ハードマクロのレイアウトデータ及びセルライブラリを使用して、ハードマクロライブラリを作成する。ハードマクロライブラリは、ハードマクロレイアウトライブラリ及びハードマクロタイミングライブラリを含む。ハードマクロレイアウトライブラリは、ハードマクロのサイズ(大きさ)、形状、端子位置の座標情報等のデータを有する。ハードマクロタイミングライブラリは、ハードマクロのタイミング規格(タイミング情報ともいう)が記述されたタイミングテーブルを備える。タイミング規格は、例えば、入力信号に対するセットアップ時間及びホールド時間、出力信号に対する最大遅延時間及び最小遅延時間である。   The design support apparatus activates a library creation system and creates a hard macro library using the layout data of the hard macro and the cell library. The hard macro library includes a hard macro layout library and a hard macro timing library. The hard macro layout library has data such as hard macro size (size), shape, and coordinate information of terminal positions. The hard macro timing library includes a timing table in which hard macro timing standards (also referred to as timing information) are described. The timing standard is, for example, a setup time and hold time for an input signal, and a maximum delay time and a minimum delay time for an output signal.

ハードマクロタイミングライブラリには、ハードマクロの外部条件を考慮したタイミング規格が記述される。ハードマクロの外部条件として、ハードマクロの外部端子に接続される最初の論理回路をバッファ(信号中継回路あるいはユニットセルともいう)とする。そして、ハードマクロ及びバッファの配置について、ハードマクロの外部端子に対してバッファが近接配置された状態を想定する。すなわち、本設計支援装置は、ハードマクロの外部端子に対してバッファが近接配置された状態を想定して、ハードマクロタイミングライブラリを作成する。   In the hard macro timing library, a timing standard considering external conditions of the hard macro is described. As an external condition of the hard macro, a first logic circuit connected to an external terminal of the hard macro is a buffer (also referred to as a signal relay circuit or a unit cell). Then, regarding the arrangement of the hard macro and the buffer, it is assumed that the buffer is arranged close to the external terminal of the hard macro. That is, the design support apparatus creates a hard macro timing library on the assumption that the buffer is arranged close to the external terminal of the hard macro.

ハードマクロの外部端子に対してバッファが近接配置された状態とは、ハードマクロの外部端子とバッファとを接続する配線の長さが物理的に最小値となるように、ハードマクロの外部端子に対してバッファが配置された状態をいう。ハードマクロの外部端子に対してバッファが近接配置されることにより、ハードマクロを安定した性能で駆動させることができる。したがって、ハードマクロの外部端子に対してバッファが近接配置された状態とは、ハードマクロを安定した性能で駆動できる配置状態ともいえる。本明細書では、ハードマクロの外部端子に対してバッファが近接配置された状態を、所定状態あるいは所定配置状態ともいう。   The state where the buffer is placed close to the external terminal of the hard macro means that the length of the wiring connecting the external terminal of the hard macro and the buffer is physically the minimum value so that the external terminal of the hard macro On the other hand, it means a state in which a buffer is arranged. By arranging the buffer close to the external terminal of the hard macro, the hard macro can be driven with stable performance. Therefore, it can be said that the state in which the buffer is arranged close to the external terminal of the hard macro is an arrangement state in which the hard macro can be driven with stable performance. In this specification, the state in which the buffer is arranged close to the external terminal of the hard macro is also referred to as a predetermined state or a predetermined arrangement state.

また、上述のハードマクロタイミングライブラリの作成において、タイミング規格にマージン(余裕)が付加される。この場合、ハードマクロの外部端子に接続されるバッファの配置位置を考慮して、タイミング規格にマージンが付加される。タイミング規格にマージンが付加されることで、ハードマクロタイミングライブラリを使用してLSIチップの設計が行われた場合のハードマクロの動作を保証することができる。   Further, in the creation of the hard macro timing library described above, a margin is added to the timing standard. In this case, a margin is added to the timing standard in consideration of the arrangement position of the buffer connected to the external terminal of the hard macro. By adding a margin to the timing standard, it is possible to guarantee the operation of the hard macro when the LSI chip is designed using the hard macro timing library.

また、本設計支援装置は、ネットリスト作成システムを起動し、ラッパーモジュールのネットリストを作成する。ラッパーモジュールは、ハードマクロ及びバッファを備えるモジュール回路である。ラッパーモジュールのネットリストは、ハードマクロとバッファとの接続情報が記述されたデータである。   The design support apparatus also activates the net list creation system and creates a net list of the wrapper module. The wrapper module is a module circuit including a hard macro and a buffer. The wrapper module netlist is data describing connection information between a hard macro and a buffer.

また、本設計支援装置は、レイアウトデータ作成システムを起動し、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリ(信号中継回路ライブラリ又はバッファセルライブラリともいう)を用いて、ラッパーモジュールのレイアウトデータを作成する。バッファライブラリ(ユニットセルライブラリともいう)は、バッファの大きさ、形状、端子位置の座標等が記述されたデータ及びバッファのタイミング情報が記述されたデータを含む。   In addition, the design support apparatus activates the layout data creation system, and uses the hard macro library, the wrapper module netlist, and the buffer library (also referred to as a signal relay circuit library or buffer cell library) to generate the layout data of the wrapper module. create. The buffer library (also referred to as a unit cell library) includes data in which buffer size, shape, terminal position coordinates, and the like are described, and data in which buffer timing information is described.

ラッパーモジュールのレイアウトデータは、ハードマクロ及びそのハードマクロの外部端子に接続されるバッファの配置配線情報が記述されたデータである。ラッパーモジュール内のバッファは、ハードマクロの外部端子に対して近接配置されている。   The wrapper module layout data is data in which hard macros and buffer arrangement / wiring information connected to external terminals of the hard macros are described. The buffer in the wrapper module is arranged close to the external terminal of the hard macro.

また、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータは、ハードマクロの内部構造(回路構造)がブラックボックス状態となっている。すなわち、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータは、ハードマクロの内部構造が記述されていない状態のレイアウトデータである。これは、ラッパーモジュールのレイアウトデータの作成において用いられるハードマクロライブラリには、ハードマクロの内部構造が記述されていないためである。   In addition, in the layout data of the wrapper module created using the hard macro library, the wrapper module netlist, and the buffer library, the internal structure (circuit structure) of the hard macro is in a black box state. That is, the layout data of the wrapper module created using the hard macro library, the wrapper module netlist, and the buffer library is layout data in which the internal structure of the hard macro is not described. This is because the internal structure of the hard macro is not described in the hard macro library used in creating the layout data of the wrapper module.

以下において、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータを、ブラックボックス状態のレイアウトデータという。なお、本設計支援装置は、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータ内にバッファの配置に関しての固定配置属性を記述する。   Hereinafter, the layout data of the wrapper module created using the hard macro library, the wrapper module netlist, and the buffer library will be referred to as black box layout data. The design support apparatus describes a fixed layout attribute related to buffer layout in the layout data of the wrapper module created using the hard macro library, the wrapper module netlist, and the buffer library.

また、本設計支援装置は、レイアウトデータ作成システムを起動し、ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト及びバッファライブラリを用いて、
ラッパーモジュールのレイアウトデータを作成する。ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト、バッファライブラリを用いて作成されたハードマクロ及びバッファのレイアウトデータは、ハードマクロの内部構造がホワイトボックス状態となっている。
In addition, this design support apparatus starts the layout data creation system, and uses the hard macro layout data, the wrapper module netlist, and the buffer library,
Create wrapper module layout data. The hard macro layout data, the wrapper module netlist, the hard macro created using the buffer library, and the buffer layout data have the internal structure of the hard macro in a white box state.

すなわち、ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト、バッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータは、ハードマクロの内部構造が記述された状態のレイアウトデータである。これは、ラッパーモジュールのレイアウトデータの作成において用いられるハードマクロのレイアウトデータには、ハードマクロの内部構造が記述されているためである。   That is, the layout data of the hard macro, the wrapper module netlist, and the wrapper module layout data created using the buffer library are layout data in a state where the internal structure of the hard macro is described. This is because the internal structure of the hard macro is described in the hard macro layout data used in the creation of the wrapper module layout data.

以下において、ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト、バッファライブラリを用いて作成されたラッパーモジュールのレイアウトデータを、ホワイトボックス状態のレイアウトデータという。   Hereinafter, the layout data of the hard macro, the netlist of the wrapper module, and the layout data of the wrapper module created using the buffer library are referred to as white box state layout data.

また、本設計支援装置は、タイミング検証システムを起動し、ブラックボックス状態のレイアウトデータ及びホワイトボックス状態のレイアウトデータのタイミング検証を行う。そして、本設計支援装置は、タイミング比較システムを起動し、ブラックボックス状態のレイアウトデータのタイミング検証の結果と、ホワイトボックス状態のレイアウトデータのタイミング検証の結果とを比較する。   In addition, the design support apparatus activates the timing verification system, and performs timing verification of the layout data in the black box state and the layout data in the white box state. The design support apparatus then activates the timing comparison system and compares the result of the timing verification of the layout data in the black box state with the result of the timing verification of the layout data in the white box state.

ブラックボックス状態のレイアウトデータのタイミング検証の結果が所望の結果となっている場合、ハードマクロ設計者は、ブラックボックス状態のレイアウトデータ、ラッパーモジュールのネットリスト及びハードマクロライブラリの各データをLSIチップ設計者に提供する。ここで、バッファライブラリは、ハードマクロ設計者及びLSIチップ設計者がともに共通のデータを予め用意しておくため、ハードマクロ設計者は、バッファライブラリのデータをLSIチップ設計者には提供しない。   When the result of timing verification of the black box state layout data is the desired result, the hard macro designer designs the LSI chip design for the black box state layout data, the wrapper module netlist, and the hard macro library data. To provide Here, since both the hard macro designer and the LSI chip designer prepare common data in the buffer library, the hard macro designer does not provide the buffer library data to the LSI chip designer.

LSIチップ設計者に提供されるブラックボックス状態のレイアウトデータは、ハードマクロの内部構造が記述されていない。そのため、ブラックボックス状態のレイアウトデータをLSIチップ設計者に提供した場合であっても、ハードマクロの内部構造がLSIチップ設計者に知得されることを抑制できる。   The black box layout data provided to the LSI chip designer does not describe the internal structure of the hard macro. For this reason, even when the layout data in the black box state is provided to the LSI chip designer, it is possible to prevent the LSI chip designer from knowing the internal structure of the hard macro.

そして、LSIチップ設計者は、ブラックボックス状態のレイアウトデータを使用して、LSIチップの設計を行う。LSIチップ設計者に提供されるブラックボックス状態のレイアウトデータは、ハードマクロの外部端子に対してバッファが近接配置された状態である。また、LSIチップ設計者に提供されるハードマクロライブラリには、ハードマクロの外部端子に対してバッファが近接配置された状態のタイミングライブラリが含まれている。   Then, the LSI chip designer designs the LSI chip using the black box layout data. The layout data in the black box state provided to the LSI chip designer is a state in which the buffer is arranged close to the external terminal of the hard macro. In addition, the hard macro library provided to the LSI chip designer includes a timing library in which a buffer is arranged close to an external terminal of the hard macro.

ブラックボックス状態のレイアウトデータは、バッファの配置に関する固定配置属性が与えられているため、LSIチップ上では、ハードマクロの外部端子に対してバッファが近接配置されることになる。例えば、レイアウトツールの自動配置を使用してLSI設計を行った場合であっても、LSIチップ上には、ハードマクロの外部端子に対して常にバッファが近接配置されることになる。したがって、ブラックボックス状態のレイアウトデータを使用したLSIチップの設計において、LSIチップ上でハードマクロを安定した性能で配置・利用することが可能となる。   Since the layout data in the black box state is given a fixed arrangement attribute relating to the arrangement of the buffer, the buffer is arranged close to the external terminal of the hard macro on the LSI chip. For example, even when LSI design is performed using automatic placement of layout tools, a buffer is always placed close to an external terminal of a hard macro on an LSI chip. Therefore, in designing an LSI chip using layout data in a black box state, it is possible to arrange and use hard macros with stable performance on the LSI chip.

LSIチップの設計データは、本設計支援装置を使用するユーザが受け取る。そして、この設計データに基づいて、LSIチップの作成が行われることで、LSIチップの設計
者にハードマクロの内部構造が知得されることなく、LSIチップの製造が可能となる。
The design data of the LSI chip is received by the user who uses this design support apparatus. Then, by creating an LSI chip based on this design data, the LSI chip can be manufactured without the LSI chip designer knowing the internal structure of the hard macro.

図1に、本設計支援装置を実現するためのコンピュータ1のハードウェア構成を示す。図1に示すように、コンピュータ1は、コンピュータプログラムを実行することでコンピュータ1を制御するCPU2、CPU2で実行されるコンピュータプログラムやCPU2が処理するデータを記憶するメモリ3を有する。また、同図に示すように、コンピュータ1は、CPU2と各種の装置とを接続するインターフェース4、ハードディスク駆動装置5、可搬媒体駆動装置6、入力装置7、表示装置8を有している。   FIG. 1 shows a hardware configuration of a computer 1 for realizing the design support apparatus. As shown in FIG. 1, the computer 1 includes a CPU 2 that controls the computer 1 by executing the computer program, and a memory 3 that stores the computer program executed by the CPU 2 and data processed by the CPU 2. As shown in the figure, the computer 1 includes an interface 4 for connecting the CPU 2 to various devices, a hard disk drive device 5, a portable medium drive device 6, an input device 7, and a display device 8.

メモリ3は、CPU2で実行されるプログラムやCPU2で処理されるデータを記憶する。メモリ3は、例えば、揮発性のRAM、不揮発性のROMである。インターフェース4は、Universal Serial Bus(USB)等のシリアルインターフェース、あるいは、Peripheral Component Interconnect(PCI)等のパラレルインターフェースのいずれでも
よい。なお、CPU2と各装置とをインターフェース4で接続しているが、CPU2と各装置との間を異なるインターフェースで接続してもよい。また、複数のインターフェースをブリッジ接続してもよい。
The memory 3 stores a program executed by the CPU 2 and data processed by the CPU 2. The memory 3 is, for example, a volatile RAM or a nonvolatile ROM. The interface 4 may be either a serial interface such as Universal Serial Bus (USB) or a parallel interface such as Peripheral Component Interconnect (PCI). Although the CPU 2 and each device are connected by the interface 4, the CPU 2 and each device may be connected by different interfaces. A plurality of interfaces may be bridge-connected.

ハードディスク駆動装置5は、メモリ3にロードされるプログラムを格納する。また、ハードディスク駆動装置5は、CPU2で処理されるデータを記憶する。可搬媒体駆動装置6は、例えば、Compact Disc(CD)、Digital Versatile Disk(DVD)、HD−DVD、ブルーレイディスク等の駆動装置である。また、可搬媒体駆動装置6は、フラッシュメモリ等の不揮発性メモリを有するカード媒体の入出力装置であってもよい。可搬媒体駆動装置6が駆動する媒体は、例えば、ハードディスク駆動装置5にインストールされるコンピュータプログラム、入力データ等を格納する。入力装置7は、例えば、キーボード、マウス、ポインティングデバイス、ワイヤレスリモコン等である。   The hard disk drive 5 stores a program loaded into the memory 3. Further, the hard disk drive device 5 stores data processed by the CPU 2. The portable medium drive device 6 is a drive device such as a Compact Disc (CD), Digital Versatile Disk (DVD), HD-DVD, or Blu-ray Disc. Further, the portable medium driving device 6 may be an input / output device for a card medium having a nonvolatile memory such as a flash memory. The medium driven by the portable medium driving device 6 stores, for example, a computer program installed in the hard disk driving device 5, input data, and the like. The input device 7 is, for example, a keyboard, a mouse, a pointing device, a wireless remote controller, or the like.

表示装置8は、CPU2で処理されるデータやメモリ3に記憶されるデータを表示する。表示装置8は、例えば、液晶表示装置、プラズマディスプレイパネル、Cathode Ray Tube(CRT)、エレクトロルミネッセンスパネル等である。   The display device 8 displays data processed by the CPU 2 and data stored in the memory 3. The display device 8 is, for example, a liquid crystal display device, a plasma display panel, a Cathode Ray Tube (CRT), an electroluminescence panel, or the like.

図2は、本設計支援装置の機能ブロック図である。本設計支援装置は、操作部11、格納部12、レイアウト部13、検証部14、ライブラリ作成部15、ライブラリ検証部16、外部端子抽出部17、ネットリスト作成部18、タイミング規格抽出部19、タイミング規格算出部20及びタイミング規格比較部21を有する。これらの各機能部は、CPU2、メモリ3等を含むコンピュータ、各装置及びコンピュータ上で実行されるプログラム等によって実現することができる。   FIG. 2 is a functional block diagram of the present design support apparatus. The design support apparatus includes an operation unit 11, a storage unit 12, a layout unit 13, a verification unit 14, a library creation unit 15, a library verification unit 16, an external terminal extraction unit 17, a net list creation unit 18, a timing standard extraction unit 19, A timing standard calculation unit 20 and a timing standard comparison unit 21 are included. Each of these functional units can be realized by a computer including the CPU 2, the memory 3, and the like, each device, a program executed on the computer, and the like.

操作部11は、ユーザからの入力を受け付け、所定のコマンドや必要なデータを入力するときなどに操作される。   The operation unit 11 is operated when receiving input from a user and inputting a predetermined command or necessary data.

格納部12は、ネットリストデータベース(以下、ネットリストDBという)30、ライブラリデータベース(以下、ライブラリDBという)31及びレイアウトデータベース(以下、レイアウトDBという)32を有する。   The storage unit 12 includes a netlist database (hereinafter referred to as netlist DB) 30, a library database (hereinafter referred to as library DB) 31, and a layout database (hereinafter referred to as layout DB) 32.

ネットリストDB30には、ハードマクロのネットリストのデータ及びラッパーモジュールのネットリストのデータが格納される。ライブラリDB31には、セルライブラリのデータ、ハードマクロライブラリのデータ及びバッファライブラリのデータが格納される。レイアウトDB32には、ハードマクロのレイアウトデータ、ブラックボックス状態のレイアウトデータ及びホワイトボックス状態のレイアウトデータが格納される。   The netlist DB 30 stores hard macro netlist data and wrapper module netlist data. The library DB 31 stores cell library data, hard macro library data, and buffer library data. The layout DB 32 stores hard macro layout data, black box layout data, and white box layout data.

レイアウト部13は、ハードマクロのネットリスト及びセルライブラリを使用して、ハードマクロのレイアウトデータを作成する。そして、レイアウト部13は、作成したハードマクロのレイアウトデータをレイアウトDB32に格納する。   The layout unit 13 creates hard macro layout data using a hard macro netlist and cell library. The layout unit 13 stores the created hard macro layout data in the layout DB 32.

さらに、レイアウト部13は、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを使用して、ブラックボックス状態のレイアウトデータを作成する。そして、レイアウト部13は、作成したブラックボックス状態のレイアウトデータをレイアウトDB32に格納する。   Furthermore, the layout unit 13 uses the hard macro library, the wrapper module netlist, and the buffer library to create black box layout data. The layout unit 13 stores the created black box state layout data in the layout DB 32.

また、レイアウト部13は、ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト及びバッファライブラリを使用して、ホワイトボックス状態のレイアウトデータを作成する。そして、レイアウト部13は、作成したホワイトボックス状態のレイアウトデータをレイアウトDB32に格納する。   Further, the layout unit 13 creates white box layout data using the hard macro layout data, the wrapper module netlist, and the buffer library. The layout unit 13 stores the created white box state layout data in the layout DB 32.

なお、ブラックボックス状態のレイアウトデータ及びホワイトボックス状態のレイアウトデータの作成において、レイアウト部13は共通のフロアプランを使用する。すなわち、ハードマクロ及びバッファの配置位置や状態について、ブラックボックス状態のレイアウトデータとホワイトボックス状態のレイアウトデータとでは同一となる。これは、レイアウトデータのタイミング検証において、ハードマクロ及びバッファの配置位置や状態によって差が出ないようにするためである。   Note that the layout unit 13 uses a common floor plan in creating the black box layout data and the white box layout data. That is, the layout position and state of the hard macro and the buffer are the same in the layout data in the black box state and the layout data in the white box state. This is to prevent differences in layout data timing verification depending on the positions and states of hard macros and buffers.

検証部14は、レイアウト部13によって作成されたレイアウトデータに記述されたハードマクロが所定の機能や性能を満たしているか否かを実配線にて検証する。例えば、検証部14は、ハードマクロが所定の駆動速度や所定のクロックで動作するか否かを検証する。   The verification unit 14 verifies whether or not the hard macro described in the layout data created by the layout unit 13 satisfies a predetermined function or performance with actual wiring. For example, the verification unit 14 verifies whether the hard macro operates at a predetermined driving speed or a predetermined clock.

ライブラリ作成部15は、ハードマクロのレイアウトデータ及びセルライブラリを使用して、ハードマクロライブラリを作成する。ライブラリ作成部15は、タイミング規格にマージンを付加してハードマクロタイミングライブラリを作成する。そして、ライブラリ作成部15は、作成したハードマクロライブラリのデータをライブラリDB31に格納する。   The library creating unit 15 creates a hard macro library using the hard macro layout data and the cell library. The library creation unit 15 creates a hard macro timing library by adding a margin to the timing standard. Then, the library creation unit 15 stores the created hard macro library data in the library DB 31.

ライブラリ検証部16は、ハードマクロライブラリが、所望のライブラリとなっているか否かを検証する。例えば、ライブラリ検証部16は、ハードマクロタイミングライブラリに記述されているタイミング規格が適正値となっているか否かを検証する。また、ハードマクロタイミングライブラリに記述されているタイミング規格にマージンが付加されている場合、ライブラリ検証部16は、付加されたマージンが正確に反映されているか否かを検証する。   The library verification unit 16 verifies whether or not the hard macro library is a desired library. For example, the library verification unit 16 verifies whether the timing standard described in the hard macro timing library is an appropriate value. When a margin is added to the timing standard described in the hard macro timing library, the library verification unit 16 verifies whether or not the added margin is accurately reflected.

外部端子抽出部17は、ハードマクロのネットリストを使用して、ハードマクロのネットリストに記述されているハードマクロの外部端子を抽出する。例えば、ハードマクロ設計者などのユーザによってハードマクロのモジュール名が指定された場合、ハードマクロのモジュール名に対応するハードマクロの外部端子が抽出される。また、ハードマクロのネットリストから、予め特定のハードマクロのモジュール名に対応するハードマクロの外部端子を抽出するようにしておいてもよい。   The external terminal extraction unit 17 uses the hard macro netlist to extract external terminals of the hard macro described in the hard macro netlist. For example, when a hard macro module name is designated by a user such as a hard macro designer, an external terminal of the hard macro corresponding to the hard macro module name is extracted. Alternatively, a hard macro external terminal corresponding to a specific hard macro module name may be previously extracted from the hard macro netlist.

ネットリスト作成部18は、バッファライブラリと、外部端子抽出部17により抽出された外部端子とを使用して、ハードマクロ及びそのハードマクロの外部端子に接続されるバッファを含むラッパーモジュールのネットリストを作成する。そして、ネットリスト作成部18は、作成したラッパーモジュールのネットリストをネットリストDB30に格納
する。
The net list creation unit 18 uses the buffer library and the external terminals extracted by the external terminal extraction unit 17 to generate a net list of a wrapper module including a hard macro and a buffer connected to the external terminal of the hard macro. create. Then, the netlist creation unit 18 stores the created wrapper module netlist in the netlist DB 30.

タイミング規格抽出部19は、ブラックボックス状態のレイアウトデータ及びハードマクロライブラリを使用して、ハードマクロライブラリに記述されているタイミング規格を抽出する。例えば、タイミング規格抽出部19は、ブラックボックス状態のレイアウトデータからバッファが配置されている位置を求める。そして、タイミング規格抽出部19は、バッファ配置位置に対応するタイミング規格をハードマクロライブラリから抽出する。この場合、タイミング規格抽出部19は、バッファ配置位置に対応するタイミング規格を、ハードマクロの外部端子ごとに抽出する。ブラックボックス状態のレイアウトデータは、ハードマクロの内部構造が記述されていない状態のレイアウトデータである。そのため、ブラックボックス状態のレイアウトデータ及びハードマクロライブラリを使用することにより、タイミング規格抽出部19は、ハードマクロライブラリに記述されているタイミング規格を抽出する。   The timing standard extraction unit 19 uses the black box state layout data and the hard macro library to extract the timing standard described in the hard macro library. For example, the timing standard extraction unit 19 obtains the position where the buffer is arranged from the layout data in the black box state. Then, the timing standard extracting unit 19 extracts a timing standard corresponding to the buffer arrangement position from the hard macro library. In this case, the timing standard extraction unit 19 extracts a timing standard corresponding to the buffer arrangement position for each external terminal of the hard macro. The black box layout data is layout data in which the internal structure of the hard macro is not described. Therefore, by using the black box layout data and the hard macro library, the timing standard extraction unit 19 extracts the timing standard described in the hard macro library.

タイミング規格算出部20は、ホワイトボックス状態のレイアウトデータを使用して、タイミング規格を算出する。例えば、タイミング規格算出部20は、ホワイトボックス状態のレイアウトデータからバッファが配置されている位置を求める。そして、タイミング規格算出部20は、ホワイトボックス状態のレイアウトデータを使用して、バッファ配置位置に対応するタイミング規格を算出する。この場合、タイミング規格算出部20は、バッファ配置位置に対応するタイミング規格を、ハードマクロの外部端子ごとに算出する。ホワイトボックス状態のレイアウトデータは、ハードマクロの内部構造が記述された状態のレイアウトデータである。そのため、ホワイトボックス状態のレイアウトデータを使用することにより、タイミング規格算出部20は、バッファ配置位置に対応するタイミング規格を算出する。   The timing standard calculation unit 20 calculates the timing standard using the layout data in the white box state. For example, the timing standard calculation unit 20 obtains the position where the buffer is arranged from the layout data in the white box state. Then, the timing standard calculator 20 uses the white box layout data to calculate a timing standard corresponding to the buffer arrangement position. In this case, the timing standard calculation unit 20 calculates a timing standard corresponding to the buffer arrangement position for each external terminal of the hard macro. The white box layout data is layout data in which the internal structure of the hard macro is described. Therefore, by using the layout data in the white box state, the timing standard calculation unit 20 calculates the timing standard corresponding to the buffer arrangement position.

タイミング規格比較部21は、ハードマクロの外部端子ごとに、タイミング規格抽出部19によって抽出されたタイミング規格とタイミング規格算出部20によって算出されたタイミング規格とを比較する。具体的には、タイミング規格比較部21は、ハードマクロの外部端子ごとに、タイミング規格抽出部19によって抽出されたタイミング規格が、タイミング規格算出部20によって抽出されたタイミング規格よりも条件的に余裕があるか否かを判定する。例えば、タイミング規格が、セットアップ時間である場合、タイミング規格比較部21は、タイミング規格抽出部19によって抽出されたセットアップ時間が、タイミング規格算出部20によって抽出されたセットアップ時間よりも長いか否かを判定する。   The timing standard comparison unit 21 compares the timing standard extracted by the timing standard extraction unit 19 with the timing standard calculated by the timing standard calculation unit 20 for each external terminal of the hard macro. Specifically, the timing standard comparison unit 21 has a condition that the timing standard extracted by the timing standard extraction unit 19 is more marginally conditional than the timing standard extracted by the timing standard calculation unit 20 for each external terminal of the hard macro. It is determined whether or not there is. For example, when the timing standard is a setup time, the timing standard comparison unit 21 determines whether the setup time extracted by the timing standard extraction unit 19 is longer than the setup time extracted by the timing standard calculation unit 20. judge.

ハードマクロの外部端子の一つ以上について、タイミング規格抽出部19によって抽出されたタイミング規格が、タイミング規格算出部20によって抽出されたタイミング規格よりも条件的に余裕がない場合、タイミング規格比較部21は、レイアウト部13に通知する。タイミング規格比較部21から通知を受けたレイアウト部13は、フロアプランを変更して、ブラックボックス状態のレイアウトデータ及びホワイトボックス状態のレイアウトデータを再度作成する。   When the timing standard extracted by the timing standard extracting unit 19 has a condition that is not marginally larger than the timing standard extracted by the timing standard calculating unit 20 for one or more external terminals of the hard macro, the timing standard comparing unit 21 Notifies the layout unit 13. Upon receiving the notification from the timing standard comparison unit 21, the layout unit 13 changes the floor plan, and again creates black box layout data and white box layout data.

図3は、本設計支援装置が実行する提供データ作成処理の流れを示すフローである。本設計支援装置は、操作部11を介して必要なデータやコマンドが入力されることにより、提供データ作成処理を実行する。まず、本設計支援装置は、ハードマクロのネットリスト及びセルライブラリを使用して、ハードマクロのレイアウトデータを作成する(S01)。   FIG. 3 is a flowchart showing the flow of provided data creation processing executed by the design support apparatus. The design support apparatus executes provided data creation processing when necessary data and commands are input via the operation unit 11. First, the design support apparatus creates hard macro layout data using a hard macro netlist and cell library (S01).

次に、本設計支援装置は、S01の処理で作成されたレイアウトデータに記述されているハードマクロが所定の機能や性能を満たしているか否かについて、実配線にてタイミン
グ検証を行う(S02)。
Next, the design support apparatus verifies the timing with the actual wiring as to whether or not the hard macro described in the layout data created in the process of S01 satisfies a predetermined function or performance (S02). .

S01の処理にて作成されたレイアウトデータに記述されているハードマクロが所定の機能や性能を満たしていない場合(S02の処理でNO)、本設計支援装置は、S01の処理に戻り、ハードマクロのレイアウトデータの作成をやり直す。   When the hard macro described in the layout data created in the process of S01 does not satisfy the predetermined function or performance (NO in the process of S02), the present design support apparatus returns to the process of S01, and the hard macro Recreate the layout data.

一方、S01の処理にて作成されたレイアウトデータに記述されているハードマクロが所定の機能や性能を満たしている場合(S02の処理でYES)、本設計支援装置は、S03の処理に進む。本設計支援装置は、ハードマクロのレイアウトデータ及びセルライブラリを使用して、ハードマクロライブラリを作成する(S03)。次に、本設計支援装置は、ハードマクロライブラリが、所望のライブラリとなっているか否かを検証する(S04)。   On the other hand, when the hard macro described in the layout data created in the process of S01 satisfies a predetermined function or performance (YES in the process of S02), the design support apparatus proceeds to the process of S03. The design support apparatus creates a hard macro library using the hard macro layout data and the cell library (S03). Next, the design support apparatus verifies whether or not the hard macro library is a desired library (S04).

ハードマクロライブラリが、所望のライブラリとなっていない場合(S04の処理でNO)、本設計支援装置は、S03の処理に戻り、ハードマクロライブラリの作成をやり直す。一方、ハードマクロライブラリが、所望のライブラリとなっている場合(S04の処理でYES)、本設計支援装置は、S05の処理に進む。本設計支援装置は、ハードマクロのネットリストに記述されているハードマクロの外部端子を抽出する(S05)。   If the hard macro library is not the desired library (NO in the process of S04), the design support apparatus returns to the process of S03 and recreates the hard macro library. On the other hand, when the hard macro library is a desired library (YES in the process of S04), the design support apparatus proceeds to the process of S05. The design support apparatus extracts the external terminals of the hard macro described in the hard macro netlist (S05).

次に、本設計支援装置は、ハードマクロ及びそのハードマクロの外部端子に接続されるバッファを含むラッパーモジュールのネットリストを作成する(S06)。そして、本設計支援装置は、ハードマクロライブラリ、ラッパーモジュールのネットリスト及びバッファライブラリを使用して、ブラックボックス状態のレイアウトデータを作成する(S07)。   Next, the design support apparatus creates a netlist of wrapper modules including a hard macro and a buffer connected to an external terminal of the hard macro (S06). The design support apparatus creates black box layout data using the hard macro library, the wrapper module netlist, and the buffer library (S07).

次に、本設計支援装置は、ハードマクロのレイアウトデータ、ラッパーモジュールのネットリスト及びバッファライブラリを使用して、ホワイトボックス状態のレイアウトデータを作成する(S08)。   Next, the design support apparatus uses the hard macro layout data, the wrapper module netlist, and the buffer library to create white box layout data (S08).

そして、本設計支援装置は、ブラックボックス状態のレイアウトデータ及びハードマクロライブラリを使用して、ハードマクロライブラリに記述されているタイミング規格を抽出する(S09)。次に、本設計支援装置は、ホワイトボックス状態のレイアウトデータを使用して、タイミング規格を算出する(S10)。   Then, the present design support apparatus uses the black box layout data and the hard macro library to extract the timing standard described in the hard macro library (S09). Next, the design support apparatus calculates a timing standard using the layout data in the white box state (S10).

そして、本設計支援装置は、S09の処理で抽出されたタイミング規格とS10の処理で算出されたタイミング規格とを比較する(S11)。具体的には、ハードマクロの外部端子ごとに、S09の処理で抽出されたタイミング規格が、S10の処理で算出されたタイミング規格よりも条件的に余裕があるか否かが判定される。   Then, the present design support apparatus compares the timing standard extracted in the process of S09 with the timing standard calculated in the process of S10 (S11). Specifically, it is determined for each external terminal of the hard macro whether or not the timing standard extracted in the process of S09 has a conditional margin than the timing standard calculated in the process of S10.

ハードマクロの外部端子の一つ以上について、S09の処理で抽出されたタイミング規格が、S10の処理で算出されたタイミング規格よりも条件的に余裕がない場合(S11の処理でNO)、本設計支援装置は、S07の処理に戻り、レイアウトデータの作成をやり直す。この場合、本設計支援装置は、フロアプランを変更して、レイアウトデータを再度作成する。   If the timing standard extracted in S09 for one or more of the external terminals of the hard macro has no conditional margin than the timing standard calculated in S10 (NO in S11), this design The support apparatus returns to the process of S07 and recreates the layout data. In this case, the present design support apparatus changes the floor plan and creates layout data again.

一方、ハードマクロの外部端子のすべてについて、S09の処理で抽出されたタイミング規格が、S10の処理で算出されたタイミング規格よりも条件的に余裕がある場合(S11の処理でYES)、本設計支援装置は、提供データ作成処理を終了する。   On the other hand, for all the external terminals of the hard macro, when the timing standard extracted in the process of S09 has a conditional margin than the timing standard calculated in the process of S10 (YES in the process of S11), this design The support device ends the provided data creation process.

S03の処理で作成されたハードマクロライブラリ、S06の処理で作成されたラッパ
ーモジュールのネットリスト及びS07の処理で作成されたブラックボックス状態のレイアウトデータが、LSIチップ設計者への提供データである。S07及びS08の処理で使用されるバッファライブラリは、LSIチップ設計者によって使用されるバッファライブラリと共通であるため、LSIチップ設計者への提供データには含まれていない。
The hard macro library created in the process of S03, the wrapper module netlist created in the process of S06, and the black box layout data created in the process of S07 are data provided to the LSI chip designer. Since the buffer library used in the processes of S07 and S08 is common to the buffer library used by the LSI chip designer, it is not included in the data provided to the LSI chip designer.

〈タイミングテーブルの説明〉
次に、ハードマクロタイミングライブラリ内のタイミングテーブルについて、図4から図9を参照して説明する。LSIチップの設計において、ハードマクロ及びバッファのレイアウトを行う場合、ハードマクロタイミングライブラリ内のタイミングテーブルが参照される。タイミングテーブルには、ハードマクロのタイミング規格が、ハードマクロの外部条件に対応して記述されている。この場合におけるハードマクロの外部条件は、ハードマクロの入力端子では、入力信号の波形なまり(波形の劣化)であり、ハードマクロの出力端子では、出力端子の外部容量(外部負荷)である。
<Explanation of timing table>
Next, the timing table in the hard macro timing library will be described with reference to FIGS. When designing a hard macro and a buffer in designing an LSI chip, a timing table in the hard macro timing library is referred to. In the timing table, the hard macro timing standard is described corresponding to the external condition of the hard macro. The external condition of the hard macro in this case is waveform rounding of the input signal (degradation of the waveform) at the input terminal of the hard macro, and external capacitance (external load) of the output terminal at the output terminal of the hard macro.

図4、図6及び図8は、ハードマクロ40の外部端子41にバッファ42が接続されている場合のハードマクロ40及びバッファ42の配置例である。バッファ42及びクロックバッファ43は、外部端子辺44の任意の箇所に配線45を接続させることで、ハードマクロ40の外部端子41と接続可能である。図4、図6及び図8に示すバッファ42A、42B、42C、42D及び42Eは駆動能力が同じであり、ハードマクロ40の外部端子41と1対1で接続されている。クロックバッファ43は、ハードマクロ40にクロックを供給するセルである。図4、図6及び図8では、ハードマクロ40のクロックは1系統としている。なお、図4から図9において、バッファ42A、42B、42C、42D及び42Eを総称する場合には、バッファ42という。   4, 6, and 8 are arrangement examples of the hard macro 40 and the buffer 42 when the buffer 42 is connected to the external terminal 41 of the hard macro 40. The buffer 42 and the clock buffer 43 can be connected to the external terminal 41 of the hard macro 40 by connecting a wiring 45 to an arbitrary portion of the external terminal side 44. The buffers 42A, 42B, 42C, 42D, and 42E shown in FIGS. 4, 6, and 8 have the same drive capability, and are connected to the external terminals 41 of the hard macro 40 on a one-to-one basis. The clock buffer 43 is a cell that supplies a clock to the hard macro 40. In FIGS. 4, 6 and 8, the clock of the hard macro 40 is one system. 4 to 9, the buffers 42A, 42B, 42C, 42D, and 42E are collectively referred to as the buffer 42.

図5、図7及び図9は、タイミングテーブル50の一例であり、ハードマクロ40のタイミングライブラリが参照される場合におけるタイミングテーブル50の参照箇所の説明図である。図5は、ハードマクロ40及びバッファ42の配置が図4の配置例である場合のタイミングテーブル50の参照箇所の説明図である。図7は、ハードマクロ40及びバッファ42の配置が図6の配置例である場合のタイミングテーブル50の参照箇所の説明図である。図9は、ハードマクロ40及びバッファ42の配置が図8の配置例である場合のタイミングテーブル50の参照箇所の説明図である。   5, 7, and 9 are examples of the timing table 50, and are explanatory diagrams of reference parts of the timing table 50 when the timing library of the hard macro 40 is referred to. FIG. 5 is an explanatory diagram of reference locations in the timing table 50 when the arrangement of the hard macro 40 and the buffer 42 is the arrangement example of FIG. FIG. 7 is an explanatory diagram of reference locations in the timing table 50 when the arrangement of the hard macro 40 and the buffer 42 is the arrangement example of FIG. FIG. 9 is an explanatory diagram of reference locations in the timing table 50 when the arrangement of the hard macro 40 and the buffer 42 is the arrangement example of FIG.

図5、図7及び図9に示すタイミングテーブル50の行パラメータは、クロックバッファ43から入力される信号の波形なまりの影響の度合いを示している。具体的には、クロックバッファ43の位置及び配線45の長さ等とタイミングテーブル50の行パラメータとは対応しており、クロックバッファ43の位置及び配線45の長さ等に応じて、タイミングテーブル50の行パラメータが参照される。タイミングテーブル50の上段の行パラメータが参照された場合、下段の行パラメータよりも波形なまりの影響が少なく、急峻な波形がクロックバッファ43から入力されることを意味している。   The row parameter of the timing table 50 shown in FIGS. 5, 7, and 9 indicates the degree of influence of waveform rounding of the signal input from the clock buffer 43. Specifically, the position of the clock buffer 43, the length of the wiring 45, and the like correspond to the row parameter of the timing table 50, and the timing table 50 corresponds to the position of the clock buffer 43, the length of the wiring 45, and the like. The row parameter is referenced. When the upper row parameter of the timing table 50 is referred to, it means that the waveform rounding is less affected than the lower row parameter and a steep waveform is input from the clock buffer 43.

タイミングテーブル50の列パラメータは、ハードマクロ40の外部端子41が入力端子である場合、バッファ42から入力される信号の波形なまりの影響の度合いを示している。また、タイミングテーブル50の列パラメータは、ハードマクロ40の外部端子41が出力端子である場合、出力端子の外部容量の影響の度合いを示している。具体的には、バッファ42の位置及び配線45の長さ等とタイミングテーブル50の列パラメータとは対応しており、バッファ42の位置及び配線45の長さ等に応じて、タイミングテーブル50の列パラメータが参照される。外部端子41が入力端子である場合において、左側の列パラメータが参照されると、右側の列パラメータよりも波形なまりの影響が少なく、急峻な波形がバッファ42から入力されることを意味している。また、外部端子41が出力端子である場合において、左側の列パラメータが参照されると、右側の列パラメータより
も外部容量の影響が少ないことを意味している。
The column parameter of the timing table 50 indicates the degree of influence of waveform rounding of a signal input from the buffer 42 when the external terminal 41 of the hard macro 40 is an input terminal. The column parameter of the timing table 50 indicates the degree of influence of the external capacitance of the output terminal when the external terminal 41 of the hard macro 40 is an output terminal. Specifically, the position of the buffer 42, the length of the wiring 45, and the like correspond to the column parameter of the timing table 50, and the column of the timing table 50 corresponds to the position of the buffer 42, the length of the wiring 45, and the like. The parameter is referenced. When the external terminal 41 is an input terminal, if the left column parameter is referred to, it means that the waveform rounding is less affected than the right column parameter, and a steep waveform is input from the buffer 42. . Further, when the external terminal 41 is an output terminal, when the left column parameter is referred to, it means that the external capacitance has less influence than the right column parameter.

図4及び図5について説明する。図4では、バッファ42B及びクロックバッファ43は、ハードマクロ40の外部端子41に対して近接して配置されているが、バッファ42A、42C、42D及び42Eは、ハードマクロ40の外部端子41に対して近接して配置されていない。図4に示す配置は、バッファ42をハードマクロ40の外部端子41に近接して配置するというフロアプランを使用しない場合に起こり得る。   4 and 5 will be described. In FIG. 4, the buffer 42 </ b> B and the clock buffer 43 are arranged close to the external terminal 41 of the hard macro 40, but the buffers 42 </ b> A, 42 </ b> C, 42 </ b> D and 42 </ b> E are connected to the external terminal 41 of the hard macro 40. Are not placed close together. The arrangement shown in FIG. 4 may occur when a floor plan in which the buffer 42 is arranged close to the external terminal 41 of the hard macro 40 is not used.

図4では、クロックバッファ43はハードマクロ40の外部端子41に近接して配置されているので、図5に示すタイミングテーブル50では、最上段の行パラメータが参照される。そして、バッファ42の位置及び配線45の長さ等に応じて、図5のタイミングテーブル50の列パラメータが参照され、入力端子又は出力端子に対するタイミング規格が決定される。   In FIG. 4, the clock buffer 43 is disposed in the vicinity of the external terminal 41 of the hard macro 40, so the top row parameter is referenced in the timing table 50 shown in FIG. 5. Then, according to the position of the buffer 42, the length of the wiring 45, etc., the column parameters of the timing table 50 in FIG. 5 are referred to, and the timing standard for the input terminal or the output terminal is determined.

例えば、LSIチップの設計において、図4のようにハードマクロ40及びバッファ42が配置されている場合、図5のタイミングテーブル50のフィールド1A、1B、1C、1D及び1Eに記述されているタイミング規格が参照される。   For example, in the design of an LSI chip, when the hard macro 40 and the buffer 42 are arranged as shown in FIG. 4, the timing standards described in the fields 1A, 1B, 1C, 1D and 1E of the timing table 50 in FIG. Is referenced.

図6及び図7について説明する。図6では、クロックバッファ43及びバッファ42A、42B、42C、42D及び42Eは、ハードマクロ40の外部端子41に対して近接配置されていない。図6に示す配置は、クロックバッファ43及びバッファ42をハードマクロ40の外部端子41に近接して配置するというフロアプランを使用しない場合に起こり得る。   6 and 7 will be described. In FIG. 6, the clock buffer 43 and the buffers 42 </ b> A, 42 </ b> B, 42 </ b> C, 42 </ b> D, and 42 </ b> E are not disposed close to the external terminal 41 of the hard macro 40. The arrangement shown in FIG. 6 may occur when a floor plan in which the clock buffer 43 and the buffer 42 are arranged close to the external terminal 41 of the hard macro 40 is not used.

図6では、クロックバッファ43は、ハードマクロ40の外部端子41に対して最も遠くに配置されているので、図7に示すタイミングテーブル50では、最下段の行パラメータが参照される。そして、バッファ42の位置及び配線45の長さ等に応じて、図7のタイミングテーブル50の列パラメータが参照され、入力端子又は出力端子に対するタイミング規格が決定される。   In FIG. 6, since the clock buffer 43 is disposed farthest from the external terminal 41 of the hard macro 40, the lowest row parameter is referred to in the timing table 50 shown in FIG. Then, according to the position of the buffer 42, the length of the wiring 45, and the like, the column parameter of the timing table 50 in FIG. 7 is referred to, and the timing standard for the input terminal or the output terminal is determined.

図6では、バッファ42及びクロックバッファ43は、ハードマクロ40の外部端子41に対して近接して配置されていないため、配線45が長くなり配線遅延による影響を受けやすい。したがって、図7に示すタイミングテーブル50では、最下段の行パラメータ及び行パラメータC、D、Eを参照することによってタイミング規格が決定される。例えば、LSIチップの設計において、図6のようにハードマクロ40及びバッファ42が配置される場合、図7のフィールド5C、5D及び5Eに記述されているタイミング規格が参照される。   In FIG. 6, since the buffer 42 and the clock buffer 43 are not arranged close to the external terminal 41 of the hard macro 40, the wiring 45 becomes long and is easily affected by the wiring delay. Therefore, in the timing table 50 shown in FIG. 7, the timing standard is determined by referring to the lowest row parameter and the row parameters C, D, and E. For example, in the design of an LSI chip, when the hard macro 40 and the buffer 42 are arranged as shown in FIG. 6, the timing standards described in the fields 5C, 5D, and 5E in FIG. 7 are referred to.

図8及び図9について説明する。図8では、バッファ42及びクロックバッファ43は、ハードマクロ40の外部端子41に対して近接配置されている。図8の配置は、バッファ42及びクロックバッファ43をハードマクロ40の外部端子41に近接して配置するというフロアプランを使用して配置された場合である。   8 and 9 will be described. In FIG. 8, the buffer 42 and the clock buffer 43 are arranged close to the external terminal 41 of the hard macro 40. The arrangement of FIG. 8 is a case where the buffer 42 and the clock buffer 43 are arranged using a floor plan in which the buffer 42 and the clock buffer 43 are arranged close to the external terminal 41 of the hard macro 40.

図8では、クロックバッファ43は、ハードマクロ40の外部端子41に対して近接して配置されているので、図9に示すタイミングテーブル50では、最上段の行パラメータが参照される。そして、バッファ42の位置及び配線45の長さ等に応じて、図9のタイミングテーブル50の列パラメータが参照され、入力端子又は出力端子に対するタイミング規格が決定される。   In FIG. 8, the clock buffer 43 is disposed close to the external terminal 41 of the hard macro 40, and therefore, the top row parameter is referred to in the timing table 50 illustrated in FIG. 9. Then, according to the position of the buffer 42, the length of the wiring 45, etc., the column parameters of the timing table 50 in FIG. 9 are referred to, and the timing standard for the input terminal or the output terminal is determined.

図8では、バッファ42及びクロックバッファ43は、ハードマクロ40の外部端子4
1に対して近接して配置されているため、配線45が短くなり配線遅延による影響を受けにくい。したがって、図9に示すタイミングテーブル50では、最上段の行パラメータ及び列パラメータAを参照することによってタイミング規格が決定される。例えば、LSIチップの設計において、図8のようにハードマクロ40及びバッファ42が配置される場合、図9のタイミングテーブル50のフィールド1Aに記述されているタイミング規格が参照される。
In FIG. 8, the buffer 42 and the clock buffer 43 are the external terminals 4 of the hard macro 40.
1, the wiring 45 is shortened and is not easily affected by the wiring delay. Therefore, in the timing table 50 shown in FIG. 9, the timing standard is determined by referring to the uppermost row parameter and column parameter A. For example, in the design of an LSI chip, when the hard macro 40 and the buffer 42 are arranged as shown in FIG. 8, the timing standard described in the field 1A of the timing table 50 in FIG. 9 is referred to.

本支援設計装置は、ハードマクロ40の外部端子41に対してバッファ42が近接配置された状態を想定して、ハードマクロタイミングライブラリを作成する。すなわち、本支援設計装置は、ハードマクロ40の外部端子41に対してバッファ42が近接配置されたフロアプランを使用することにより、ハードマクロ40及びバッファ42の配置が行われた状態を想定して、ハードマクロタイミングライブラリを作成する。   The support design apparatus creates a hard macro timing library on the assumption that the buffer 42 is disposed close to the external terminal 41 of the hard macro 40. That is, this support design apparatus assumes a state in which the hard macro 40 and the buffer 42 are arranged by using a floor plan in which the buffer 42 is arranged close to the external terminal 41 of the hard macro 40. Create a hard macro timing library.

例えば、図8の配置状態を想定して、ハードマクロタイミングライブラリを作成する。上述のように、LSIチップの設計において、図8のようにハードマクロ40及びバッファ42が配置される場合、図9のタイミングテーブル50のフィールド1Aに記述されているタイミング規格が参照される。   For example, a hard macro timing library is created assuming the arrangement state of FIG. As described above, in the LSI chip design, when the hard macro 40 and the buffer 42 are arranged as shown in FIG. 8, the timing standard described in the field 1A of the timing table 50 in FIG. 9 is referred to.

そこで、本支援設計装置は、LSIチップの設計で参照されるタイミング規格に絞って、ハードマクロタイミングライブラリを作成する。具体的には、本支援設計装置は、LSIチップの設計で参照されるタイミング規格のみをタイミングテーブル50に記述することによりハードマクロタイミングライブラリを作成する。これにより、ハードマクロライブラリの作成及び検証の工数を削減することができる。   Therefore, the support design apparatus creates a hard macro timing library by focusing on the timing standard referred to in the design of the LSI chip. Specifically, the support design apparatus creates a hard macro timing library by describing in the timing table 50 only the timing standards referred to in the LSI chip design. Thereby, the man-hours for creating and verifying the hard macro library can be reduced.

そして、タイミング規格を絞る事でタイミングテーブル50に記述するタイミング規格のデータ量が少なくなり、ハードマクロタイミングライブラリのファイルサイズ(データ量)を小さくすることができる。   By narrowing down the timing standards, the data amount of the timing standards described in the timing table 50 is reduced, and the file size (data amount) of the hard macro timing library can be reduced.

また、図8の配置状態であっても、外部端子41ごとに外部容量が異なる場合がある。この場合には、外部端子41ごとに異なる外部容量に応じて、タイミングテーブル50のタイミング規格の参照箇所を増やせばよい。そして、図9のタイミングテーブル50において参照される可能性が低いタイミング規格を削減することにより、タイミングライブラリのデータ量を増やすことなく、外部端子41ごとに異なる外部容量に応じたタイミングテーブル50を作成することができる。   Further, even in the arrangement state of FIG. 8, the external capacitance may be different for each external terminal 41. In this case, it suffices to increase the reference location of the timing standard in the timing table 50 in accordance with the external capacity that is different for each external terminal 41. Then, by reducing the timing standards that are unlikely to be referenced in the timing table 50 of FIG. 9, the timing table 50 corresponding to the external capacity that differs for each external terminal 41 is created without increasing the data amount of the timing library. can do.

次に、ネットリスト作成部18によって作成されるラッパーモジュール60のネットリストについて説明する。図10に、ラッパーモジュール60のネットリストの一例を示す。図11に、図10のラッパーモジュール60のネットリストに記述されるラッパーモジュール60の概念図を示す。図11のラッパーモジュール60は、ハードマクロ40が有する外部端子41A、41B、41C、41Dに対応する外部端子61A、61B、61C、61Dを備える。そして、ラッパーモジュール60は、外部端子41A、41B、41C、41Dと、外部端子61A、61B、61C、61Dとをそれぞれ接続する引き付け配置用のバッファモジュール62を備える。なお、以下において、外部端子41A、41B、41C、41Dを総称する場合には外部端子41といい、外部端子61A、61B、61C、61Dを総称する場合には外部端子61という。   Next, the net list of the wrapper module 60 created by the net list creation unit 18 will be described. FIG. 10 shows an example of the net list of the wrapper module 60. FIG. 11 shows a conceptual diagram of the wrapper module 60 described in the net list of the wrapper module 60 of FIG. The wrapper module 60 in FIG. 11 includes external terminals 61A, 61B, 61C, and 61D corresponding to the external terminals 41A, 41B, 41C, and 41D of the hard macro 40. The wrapper module 60 includes a buffer module 62 for attracting arrangement that connects the external terminals 41A, 41B, 41C, and 41D and the external terminals 61A, 61B, 61C, and 61D, respectively. In the following, external terminals 41A, 41B, 41C, and 41D are collectively referred to as external terminals 41, and external terminals 61A, 61B, 61C, and 61D are collectively referred to as external terminals 61.

図10のラッパーモジュール60のネットリストの行1には、「module Wrapper(A,B,C,D)」が記述されている。これは、トップモジュール名として、Wrapperを定義しており、ラッパーモジュール60の外部端子61がA、B、C、Dという名前であることを示している。   In line 1 of the netlist of the wrapper module 60 in FIG. 10, “module Wrapper (A, B, C, D)” is described. This indicates that Wrapper is defined as the top module name, and the external terminals 61 of the wrapper module 60 are named A, B, C, and D.

図10のラッパーモジュール60のネットリストの行3−6には「input A;」、「input B;」、「output C;」、「output D;」が記述されている。これは、ラッパーモジュール60の外部端子61の入出力定義である。すなわち、図10のラッパーモジュール60のネットリストでは、input A及びinput Bが入力端子であり、output C及びoutput Dが出力端子であることを定義している。   In the line 3-6 of the netlist of the wrapper module 60 in FIG. 10, “input A;”, “input B;”, “output C;”, “output D;” are described. This is an input / output definition of the external terminal 61 of the wrapper module 60. That is, the netlist of the wrapper module 60 in FIG. 10 defines that input A and input B are input terminals, and output C and output D are output terminals.

図10のラッパーモジュール60のネットリストの行8には、「wire In#A, In#B, Out#C, Out#D;」が記述されている。これは、ラッパーモジュール60内部の接続情報である。この例では、「In#A」、「In#B」、「Out#C」、「Out#D」の4つのネット接続情報が定義されている。   In the line 8 of the netlist of the wrapper module 60 in FIG. 10, “wire In # A, In # B, Out # C, Out # D;” is described. This is connection information inside the wrapper module 60. In this example, four pieces of net connection information “In # A”, “In # B”, “Out # C”, and “Out # D” are defined.

図10のラッパーモジュール60のネットリストの行10には、「HARDMACRO hardmacro (.A(In#A), .B(In#B), .C(Out#C), .D(Out#D));」が記述されている。これにより、ラ
ッパーモジュール60内に存在するサブモジュールとして、HARDMACRO(ハードマクロ4
0)が定義されることになる。そして、HARDMACROというモジュール名のマクロを固有名
としてhardmacroと名付け、HARDMACROの端子と何が接続されているかを定義している。すなわち、HARDMACROの端子AにはIn#Aというネットが接続され、HARDMACROの端子BにはIn#Bというネットが接続され、HARDMACROの端子CにはIn#Cというネットが接続され、HARDMACROの端子DにはIn#Dというネットが接続されることが定義されている。図11では、外部端子41Aには配線45Aが接続され、外部端子41Bには配線45Bが接続され、外部端子41Cには配線45Cが接続され、外部端子41Dには配線45Dが接続されていることを示している。
In the line 10 of the netlist of the wrapper module 60 of FIG. 10, "HARDMACRO hardmacro (.A (In # A), .B (In # B), .C (Out # C), .D (Out # D)");"Is described. As a result, the HARDMACRO (hard macro 4
0) will be defined. Then, the module named “HARDMACRO” is named “macromacro” as a unique name, and defines what is connected to the terminal of HARDMACRO. That is, a net called In # A is connected to terminal A of HARDMACRO, a net called In # B is connected to terminal B of HARDMACRO, a net called In # C is connected to terminal C of HARDMACRO, and a terminal of HARDMACRO It is defined that a net called In # D is connected to D. In FIG. 11, the wiring 45A is connected to the external terminal 41A, the wiring 45B is connected to the external terminal 41B, the wiring 45C is connected to the external terminal 41C, and the wiring 45D is connected to the external terminal 41D. Is shown.

図10のラッパーモジュール60のネットリストの行12−14には、「HIKITSUKE#BUF hikitsuke#buf(.In#Buf#A(A), .Out#Buf#A(In#A), .In#Buf#B(B), .Out#Buf#B(In#B), .In#Buf#C(Out#C), .Out#Buf#C(C). .In#Buf#D(Out#D), .Out#Buf#D(D))」が記述されて
いる。これにより、ラッパーモジュール60内に存在するサブモジュールとして、HIKITSUKE#BUF(バッファモジュール62)が定義されることになる。そして、HIKITSUKE#BUFというモジュール名のマクロを固有名としてhikitsuke#bufと名付け、HIKITSUKE#BUFと何が接続されているかを定義している。
In the line 12-14 of the netlist of the wrapper module 60 of FIG. 10, “HIKITSUKE # BUF hikitsuke # buf (.In # Buf # A (A), .Out # Buf # A (In # A), .In # Buf # B (B), .Out # Buf # B (In # B), .In # Buf # C (Out # C), .Out # Buf # C (C). .In # Buf # D (Out # D), .Out # Buf # D (D)) ”. As a result, HIKITSUKE # BUF (buffer module 62) is defined as a submodule existing in the wrapper module 60. Then, the module name macro named HIKITSUKE # BUF is named as hikitsuke # buf as a unique name, and defines what is connected to HIKITSUKE # BUF.

図10のラッパーモジュール60のネットリストの行19−20には、「module HIKITSUKE#BUF (In#Buf#A, Out#Buf#A, In#Buf#B, Out#Buf#B, In#Buf#C, Out#Buf#C, In#Buf#D, Out#Buf#D);」が記述されている。これは、ラッパーモジュール60内に存在するサブモジュールとしてのHIKITSUKE#BUF及びHIKITSUKE#BUFの端子を定義している。   In the netlist lines 19-20 of the wrapper module 60 of FIG. #C, Out # Buf # C, In # Buf # D, Out # Buf # D); This defines the terminals of HIKITSUKE # BUF and HIKITSUKE # BUF as submodules existing in the wrapper module 60.

図10のラッパーモジュール60のネットリストの行22−29には、「input In#Buf#A;」、「input In#Buf#B;」、「input In#Buf#C;」、「input In#Buf#D;」、「output Out#Buf#A;」、「output Out#Buf#B;」、「output Out#Buf#C;」、「output Out#Buf#D;」が記述されている。これは、HIKITSUKE#BUFの端子の入出力定義である。すなわち、図1
0のラッパーモジュール60のネットリストでは、「In#Buf#A」、「In#Buf#B」、「In#Buf#C」及び「In#Buf#D」が入力端子であり、「Out#Buf#A」、「Out#Buf#B」、「Out#Buf#C」及び「Out#Buf#D」が出力端子であることを定義している。図11では、外部端子63A、外部端子63B、外部端子63C及び外部端子63Dがバッファモジュール62の入力端子であることが示され、外部端子64A、外部端子64B、外部端子64C及び外部端子64Dがバッファモジュール62の出力端子であることが示されている。
In the netlist lines 22-29 of the wrapper module 60 of FIG. 10, “input In # Buf # A;”, “input In # Buf # B;”, “input In # Buf # C;”, “input In” # Buf # D; ”,“ output Out # Buf # A; ”,“ output Out # Buf # B; ”,“ output Out # Buf # C; ”,“ output Out # Buf # D; ” Yes. This is the input / output definition of the HIKITSUKE # BUF terminal. That is, FIG.
In the netlist of the wrapper module 60 of 0, “In # Buf # A”, “In # Buf # B”, “In # Buf # C”, and “In # Buf # D” are input terminals, and “Out # It is defined that “Buf # A”, “Out # Buf # B”, “Out # Buf # C”, and “Out # Buf # D” are output terminals. In FIG. 11, it is shown that the external terminal 63A, the external terminal 63B, the external terminal 63C, and the external terminal 63D are input terminals of the buffer module 62, and the external terminal 64A, the external terminal 64B, the external terminal 64C, and the external terminal 64D are the buffers. The output terminal of the module 62 is shown.

図10のラッパーモジュール60のネットリストの行31には、「BUFFER buf#A (.A(In#Buf#A), .Y(Out#Buf#A));」と記述されている。これは、BUFFERという名前のユニット
セルを固有名としてbuf#Aと名付け、BUFFERの端子に何が接続されているかを定義してい
る。すなわち、「BUFFER(buf#A)」の端子Aには「In#Buf#A」が接続され、「BUFFER(buf#A)」の端子Yには「Out#Buf#A」が接続されることが定義されている。図11では、
バッファ42Aの端子Aには入力端子63Aが接続され、バッファ42Aの端子Yには出力端子64Aが接続されていることが示されている。また、図10のラッパーモジュール60のネットリストの行32−34についても同様である。
In the line 31 of the netlist of the wrapper module 60 of FIG. 10, “BUFFER buf # A (.A (In # Buf # A), .Y (Out # Buf # A));” is described. This names a unit cell named BUFFER as buf # A with a unique name, and defines what is connected to the BUFFER terminal. That is, “In # Buf # A” is connected to the terminal A of “BUFFER (buf # A)”, and “Out # Buf # A” is connected to the terminal Y of “BUFFER (buf # A)”. It is defined. In FIG.
It is shown that the input terminal 63A is connected to the terminal A of the buffer 42A, and the output terminal 64A is connected to the terminal Y of the buffer 42A. The same applies to the lines 32-34 of the net list of the wrapper module 60 of FIG.

図10のラッパーモジュール60のネットリストの行19−34には、HIKITSUKE#BUF
の内部構造が定義(記述)されている。一方、図10のラッパーモジュール60のネットリストの行10では、HARDMACROが呼び出されているが、HARDMACROの内部構造は定義(記述)されていない。したがって、ハードマクロ40及びバッファ42のレイアウトデータを作成する際にハードマクロライブラリを使用した場合、ブラックボックス状態のレイアウトデータが作成される。一方、ハードマクロ40及びバッファ42のレイアウトデータを作成する際にハードマクロレイアウトデータを使用した場合、ホワイトボックス状態のレイアウトデータが作成される。
In the line 19-34 of the netlist of the wrapper module 60 of FIG. 10, HIKITSUKE # BUF
Is defined (description). On the other hand, in the line 10 of the netlist of the wrapper module 60 in FIG. 10, HARDMACRO is called, but the internal structure of HARDMACRO is not defined (described). Therefore, when the hard macro library is used when creating the layout data of the hard macro 40 and the buffer 42, the layout data in the black box state is created. On the other hand, when the hard macro layout data is used when creating the layout data of the hard macro 40 and the buffer 42, the layout data in the white box state is created.

次に、レイアウト部13によって作成されるラッパーモジュール60のレイアウトデータについて説明する。図12は、ラッパーモジュール60のレイアウトデータの一例である。図12に示すラッパーモジュール60のレイアウトデータには、ハードマクロ40及びバッファ42が配置されている。ハードマクロ40の形状は、矩形となっており、ハードマクロ40の一辺に外部端子辺44が設けられている。なお、本明細書では、矩形とは、長方形および正方形を含む直角四辺形を指すものとする。   Next, the layout data of the wrapper module 60 created by the layout unit 13 will be described. FIG. 12 is an example of the layout data of the wrapper module 60. In the layout data of the wrapper module 60 shown in FIG. 12, a hard macro 40 and a buffer 42 are arranged. The shape of the hard macro 40 is rectangular, and an external terminal side 44 is provided on one side of the hard macro 40. In this specification, a rectangle means a right-angled quadrilateral including a rectangle and a square.

図12に示すラッパーモジュール60のレイアウトデータには、バッファ42を配置するためのバッファ配置領域(ユニットセル配置領域ともいう)70が設けられており、バッファ配置領域70内にバッファ42が配置されている。また、ラッパーモジュール60のレイアウトデータには、ハードマクロ40が配置される領域(回路ブロック配置領域ともいう)が設けられ、そこにハードマクロ40が設けられる。バッファ配置領域70内には、バッファ42に隣接するようにセル用の電源71が設けられている。図12に示すように、バッファ配置領域70はハードマクロ40に対して近接して設けられている。したがって、バッファ42は、ハードマクロ40の外部端子辺44に対して近接配置された状態となっている。ハードマクロ40の外部端子辺44の任意の位置に外部端子41を設けることが可能である。   In the layout data of the wrapper module 60 shown in FIG. 12, a buffer arrangement area (also referred to as a unit cell arrangement area) 70 for arranging the buffer 42 is provided, and the buffer 42 is arranged in the buffer arrangement area 70. Yes. The layout data of the wrapper module 60 is provided with an area (also referred to as a circuit block arrangement area) where the hard macro 40 is arranged, and the hard macro 40 is provided there. A cell power supply 71 is provided in the buffer arrangement area 70 so as to be adjacent to the buffer 42. As shown in FIG. 12, the buffer arrangement area 70 is provided close to the hard macro 40. Therefore, the buffer 42 is in a state of being disposed close to the external terminal side 44 of the hard macro 40. The external terminal 41 can be provided at an arbitrary position on the external terminal side 44 of the hard macro 40.

また、外部端子41とバッファ42とが配線45によって接続されている。そして、図12に示すように、バッファ配置領域70は、外部端子41に接続される配線45の伸長方向に配置されている。このように、バッファ配置領域70の横幅を、ハードマクロ40に設けられた外部端子辺44の長さに応じて設けてもよい。また、バッファ配置領域70の横幅を、ハードマクロ40に設けられた外部端子辺44の長さよりも短くするようにしてもよい。さらに、バッファ配置領域70の横幅を、ハードマクロ40に設けられた外部端子辺44の長さよりも長くするようにしてもよい。   Further, the external terminal 41 and the buffer 42 are connected by a wiring 45. Then, as shown in FIG. 12, the buffer arrangement region 70 is arranged in the extending direction of the wiring 45 connected to the external terminal 41. As described above, the horizontal width of the buffer arrangement region 70 may be provided according to the length of the external terminal side 44 provided in the hard macro 40. Further, the horizontal width of the buffer arrangement region 70 may be made shorter than the length of the external terminal side 44 provided in the hard macro 40. Further, the horizontal width of the buffer arrangement area 70 may be made longer than the length of the external terminal side 44 provided in the hard macro 40.

なお、ハードマクロ40の形状は非矩形であってもよい。ハードマクロ40の形状が非矩形の場合、ハードマクロ40の形状が矩形の場合と同様に、ハードマクロ40に設けられた外部端子辺44に対してバッファ配置領域70を設けるようにすればよい。すなわち、ハードマクロ40の形状に合わせてバッファ配置領域70を設けるようにすればよい。   Note that the shape of the hard macro 40 may be non-rectangular. When the shape of the hard macro 40 is non-rectangular, the buffer arrangement area 70 may be provided for the external terminal side 44 provided in the hard macro 40 as in the case where the shape of the hard macro 40 is rectangular. That is, the buffer arrangement area 70 may be provided in accordance with the shape of the hard macro 40.

図13は、ラッパーモジュール60のレイアウトデータの一例である。図13に示すラッパーモジュール60のレイアウトデータには、ハードマクロ40及びバッファ42が配置されている。ハードマクロ40の形状は、矩形となっており、ハードマクロ40の四辺
に外部端子辺44が設けられている。
FIG. 13 is an example of the layout data of the wrapper module 60. In the layout data of the wrapper module 60 shown in FIG. 13, a hard macro 40 and a buffer 42 are arranged. The shape of the hard macro 40 is a rectangle, and external terminal sides 44 are provided on four sides of the hard macro 40.

図13に示すラッパーモジュール60のレイアウトデータでは、ハードマクロ40の四辺に対してバッファ配置領域70が設けられており、バッファ配置領域70内にバッファ42が配置されている。すなわち、図13に示すラッパーモジュール60のレイアウトデータは、ハードマクロ40の四辺に設けられている外部端子辺44すべてに対してバッファ配置領域70が設けられている。バッファ配置領域70内には、バッファ42に隣接するようにセル用の電源71が設けられている。なお、ラッパーモジュール60のレイアウトデータに、ハードマクロ40が配置される領域が設けられていることは、図12と同様である。   In the layout data of the wrapper module 60 shown in FIG. 13, buffer arrangement areas 70 are provided for the four sides of the hard macro 40, and the buffer 42 is arranged in the buffer arrangement area 70. That is, the layout data of the wrapper module 60 shown in FIG. 13 is provided with the buffer arrangement area 70 for all the external terminal sides 44 provided on the four sides of the hard macro 40. A cell power supply 71 is provided in the buffer arrangement area 70 so as to be adjacent to the buffer 42. Note that the layout data of the wrapper module 60 is provided with an area in which the hard macro 40 is arranged, as in FIG.

図13に示すように、バッファ配置領域70はハードマクロ40に対して近接して設けられている。したがって、バッファ42は、ハードマクロ40の外部端子辺44に対して近接配置された状態となっている。ハードマクロ40の外部端子辺44の任意の位置に外部端子41を設けることが可能である。また、外部端子41とバッファ42とが配線45によって接続されている。   As shown in FIG. 13, the buffer arrangement area 70 is provided close to the hard macro 40. Therefore, the buffer 42 is in a state of being disposed close to the external terminal side 44 of the hard macro 40. The external terminal 41 can be provided at an arbitrary position on the external terminal side 44 of the hard macro 40. Further, the external terminal 41 and the buffer 42 are connected by a wiring 45.

なお、ハードマクロ40の形状は非矩形であってもよい。ハードマクロ40の形状が非矩形の場合、ハードマクロ40の形状が矩形の場合と同様に、ハードマクロ40に設けられた外部端子辺44に対してバッファ配置領域70を設けるようにすればよい。すなわち、ハードマクロ40の形状に合わせてバッファ配置領域70を設けるようにすればよい。   Note that the shape of the hard macro 40 may be non-rectangular. When the shape of the hard macro 40 is non-rectangular, the buffer arrangement area 70 may be provided for the external terminal side 44 provided in the hard macro 40 as in the case where the shape of the hard macro 40 is rectangular. That is, the buffer arrangement area 70 may be provided in accordance with the shape of the hard macro 40.

〈ラッパーモジュール60のパターン例の説明〉
LSIチップの設計において、ラッパーモジュール60をどの場所にどの方向で配置するかは、LSIチップの設計者が決定する。そこで、LSIチップの設計の際、ラッパーモジュール60の配置場所や配置方向に制限が発生しないようにするため、予めラッパーモジュール60のパターンを複数用意しておく。図14は、ラッパーモジュール60のパターン例についての説明図である。
<Description of Pattern Example of Wrapper Module 60>
In designing an LSI chip, an LSI chip designer determines in which location and in which direction the wrapper module 60 is arranged. Therefore, when designing the LSI chip, a plurality of patterns of the wrapper module 60 are prepared in advance so as not to limit the arrangement location and the arrangement direction of the wrapper module 60. FIG. 14 is an explanatory diagram of a pattern example of the wrapper module 60.

図14に示すラッパーモジュール60A〜60Dは、それぞれバッファ42A〜42Gを備えている。バッファ42A〜42Gは、ハードマクロ40の外部端子辺44に対して近接配置された状態となっている。図14に示すラッパーモジュール60Aとラッパーモジュール60Bとは、線Aを軸として対象となっている。図14に示すラッパーモジュール60Aとラッパーモジュール60Cとは、線Bを軸として対象となっている。図14に示すラッパーモジュール60Aとラッパーモジュール60Dとは、180度の回転対称となっている。   The wrapper modules 60A to 60D illustrated in FIG. 14 include buffers 42A to 42G, respectively. The buffers 42 </ b> A to 42 </ b> G are in a state of being arranged close to the external terminal side 44 of the hard macro 40. The wrapper module 60A and the wrapper module 60B shown in FIG. 14 are targeted with the line A as an axis. The wrapper module 60A and the wrapper module 60C shown in FIG. 14 are targeted with the line B as an axis. The wrapper module 60A and the wrapper module 60D shown in FIG. 14 have a rotational symmetry of 180 degrees.

また、図15に示すラッパーモジュール60E〜60Hは、それぞれバッファ42H〜42Nを備えている。バッファ42H〜42Nは、ハードマクロ40の外部端子辺44に対して近接配置された状態となっている。図15に示すラッパーモジュール60Eとラッパーモジュール60Fとは、線Aを軸として対象となっている。図15に示すラッパーモジュール60Eとラッパーモジュール60Gとは、線Bを軸として対象となっている。図15に示すラッパーモジュール60Eとラッパーモジュール60Hとは、180度の回転対称となっている。   Further, the wrapper modules 60E to 60H illustrated in FIG. 15 include buffers 42H to 42N, respectively. The buffers 42 </ b> H to 42 </ b> N are arranged in proximity to the external terminal side 44 of the hard macro 40. The wrapper module 60E and the wrapper module 60F illustrated in FIG. 15 are targeted with the line A as an axis. The wrapper module 60E and the wrapper module 60G illustrated in FIG. 15 are targeted with the line B as an axis. The wrapper module 60E and the wrapper module 60H shown in FIG. 15 have a rotational symmetry of 180 degrees.

〈ラッパーモジュール60内のバッファ配置領域70の利用〉
LSIチップの設計におけるラッパーモジュール60内のバッファ配置領域70の利用について、図16及び図17を参照して説明する。図16及び図17は、LSIチップ上にラッパーモジュール60が配置された場合の説明図である。図16及び図17に示すラッパーモジュール60は、外部端子辺44がハードマクロ40の上辺に設けられている。
太線で囲まれているバッファ配置領域70がハードマクロ40の外部端子辺44に対して近接配置されている。また、図16及び図17では、点線で囲まれた範囲がLSIチップのロジック領域80であり、LSIチップのロジック(論理回路)を配置することが可能な領域である。
<Use of Buffer Arrangement Area 70 in Wrapper Module 60>
The use of the buffer arrangement area 70 in the wrapper module 60 in designing an LSI chip will be described with reference to FIGS. FIGS. 16 and 17 are explanatory diagrams when the wrapper module 60 is arranged on the LSI chip. In the wrapper module 60 shown in FIGS. 16 and 17, the external terminal side 44 is provided on the upper side of the hard macro 40.
A buffer arrangement area 70 surrounded by a thick line is arranged close to the external terminal side 44 of the hard macro 40. In FIGS. 16 and 17, the area surrounded by the dotted line is the LSI chip logic area 80, which is an area where the logic (logic circuit) of the LSI chip can be placed.

ラッパーモジュール60内のバッファ配置領域70に配置されるバッファ42の内部構造は、ラッパーモジュール60のレイアウトデータに記述されている。そのため、ラッパーモジュール60内のバッファ配置領域70は、LSIチップ上で階層展開が可能である。図16のバッファ配置領域70は階層展開前であり、図17のバッファ配置領域70は階層展開後である。図17のバッファ配置領域70内にはバッファ42が配置されていない箇所があり、バッファ配置領域70内のバッファ42が配置されていない空き領域には、LSIチップのロジックを配置することが可能である。したがって、ラッパーモジュール60のバッファ配置領域70を階層展開することにより、バッファ配置領域70内の空き領域の有効活用が可能となる。   The internal structure of the buffer 42 arranged in the buffer arrangement area 70 in the wrapper module 60 is described in the layout data of the wrapper module 60. Therefore, the buffer arrangement area 70 in the wrapper module 60 can be expanded in a hierarchy on the LSI chip. The buffer arrangement area 70 in FIG. 16 is before hierarchical development, and the buffer arrangement area 70 in FIG. 17 is after hierarchical development. In the buffer arrangement area 70 of FIG. 17, there is a place where the buffer 42 is not arranged, and the LSI chip logic can be arranged in the empty area in the buffer arrangement area 70 where the buffer 42 is not arranged. is there. Accordingly, by expanding the buffer arrangement area 70 of the wrapper module 60 in a hierarchical manner, the free area in the buffer arrangement area 70 can be effectively used.

〈ハードマクロ40の外部端子41とバッファ42との接続配線例〉
上述したように、本設計支援装置によって作成されるラッパーモジュール60のレイアウトデータには、ハードマクロ40の外部端子41とバッファ42とを接続する配線45が設けられている。さらに、本設計支援装置は、ハードマクロ40の外部端子41とバッファ42とを接続する配線45が設けられていないラッパーモジュール60のレイアウトデータを作成してもよい。ハードマクロ40の外部端子41とバッファ42とを接続する配線45が設けられていないラッパーモジュール60のレイアウトデータを使用する場合、LSIチップ上の状況に応じて、LSIチップ設計者はその時の最短経路となるように配線45を設けることが可能である。
<Example of Connection Wiring between External Terminal 41 of Hard Macro 40 and Buffer 42>
As described above, the layout data of the wrapper module 60 created by the present design support apparatus is provided with the wiring 45 that connects the external terminal 41 of the hard macro 40 and the buffer 42. Furthermore, the design support apparatus may create layout data of the wrapper module 60 in which the wiring 45 that connects the external terminal 41 of the hard macro 40 and the buffer 42 is not provided. When using the layout data of the wrapper module 60 in which the wiring 45 that connects the external terminal 41 of the hard macro 40 and the buffer 42 is not used, the LSI chip designer can select the shortest path according to the situation on the LSI chip. Wiring 45 can be provided so that

図18は、ハードマクロ40の外部端子41とバッファ42とを接続する場合のパターンを示す図である。図18の例では、LSIチップ設計者は、ハードマクロ40の外部端子41とバッファ42とを接続する配線45が設けられていないラッパーモジュール60のレイアウトデータを使用している。   FIG. 18 is a diagram showing a pattern when the external terminal 41 of the hard macro 40 and the buffer 42 are connected. In the example of FIG. 18, the LSI chip designer uses the layout data of the wrapper module 60 in which the wiring 45 that connects the external terminal 41 of the hard macro 40 and the buffer 42 is not provided.

図18において、バッファ42は、ハードマクロ40の外部端子41に対して近接配置されている。図18の例では、配線経路パターンA及び配線経路パターンBの2種類が存在している。このような配線経路パターンが存在する場合、LSIチップ設計者は、LSIチップの設計状況に合わせて、配線経路パターンA又は配線経路パターンBの選択が可能となる。   In FIG. 18, the buffer 42 is disposed close to the external terminal 41 of the hard macro 40. In the example of FIG. 18, there are two types of wiring route pattern A and wiring route pattern B. When such a wiring route pattern exists, the LSI chip designer can select the wiring route pattern A or the wiring route pattern B in accordance with the design situation of the LSI chip.

また、ハードマクロ40の外部端子41とバッファ42とを接続する配線45が設けられているラッパーモジュール60のレイアウトデータを使用する場合、LSIチップ上の状況に応じて、LSIチップの設計者は、配線経路パターンを変更することも可能である。例えば、図18に示す配線経路パターンAによる配線45が設けられたラッパーモジュール60のレイアウトデータを使用してLSIチップの設計が行われる場合、LSIチップの設計者は、配線経路パターンBによる配線45に変更することができる。これは、LSIチップの設計者が何らかの理由(LSIチップの他の配線を優先させたい等の理由)で、配線経路パターンBによる配線45に切り替えたい場合に有効である。   In addition, when using the layout data of the wrapper module 60 provided with the wiring 45 that connects the external terminal 41 of the hard macro 40 and the buffer 42, the LSI chip designer, depending on the situation on the LSI chip, It is also possible to change the wiring route pattern. For example, when the LSI chip is designed using the layout data of the wrapper module 60 provided with the wiring 45 by the wiring path pattern A shown in FIG. Can be changed. This is effective when the LSI chip designer wants to switch to the wiring 45 by the wiring route pattern B for some reason (for example, priority is given to other wiring of the LSI chip).

〈ラッパーモジュール60のレイアウトデータの応用例〉
通常、汎用マクロとしてハードマクロ40を設計する際には、LSIチップの設計状況を確認できないため、動作不具合の原因となる電圧降下の影響を見積もることが困難である。このような場合、ハードマクロ40への電圧降下による影響を抑制するレイアウトデータの作成が望まれる。
<Application example of layout data of wrapper module 60>
Normally, when designing the hard macro 40 as a general-purpose macro, the design status of the LSI chip cannot be confirmed, and it is difficult to estimate the influence of a voltage drop that causes an operation failure. In such a case, it is desired to create layout data that suppresses the influence of the voltage drop on the hard macro 40.

図19に、ハードマクロ40の外周に電源配線(強化電源リングともいう)90を設けたラッパーモジュール60のレイアウトデータを示す。図19に示すように、ハードマクロ40を囲むように電源配線90が設けられており、ハードマクロ40に対する電圧源が強化されている。また、図19に示すハードマクロ40及びバッファ42は、図12で説明したハードマクロ40及びバッファ42と同様の構成である。このように、予めハードマクロ40の外周に電源配線90を設けたレイアウトデータを作成することにより、ハードマクロ40への電圧降下による影響を抑制することが可能である。   FIG. 19 shows layout data of the wrapper module 60 in which the power supply wiring (also referred to as a reinforced power supply ring) 90 is provided on the outer periphery of the hard macro 40. As shown in FIG. 19, power supply wiring 90 is provided so as to surround the hard macro 40, and the voltage source for the hard macro 40 is strengthened. Further, the hard macro 40 and the buffer 42 shown in FIG. 19 have the same configuration as the hard macro 40 and the buffer 42 described in FIG. As described above, by creating layout data in which the power supply wiring 90 is provided on the outer periphery of the hard macro 40 in advance, it is possible to suppress the influence of the voltage drop on the hard macro 40.

なお、図10から図19では、クロックバッファ43については言及していないが、ラッパーモジュール60はクロックバッファ43を備えていてもよい。すなわち、クロックバッファ43をハードマクロ40の外部端子41に対して近接配置させてもよい。この場合、バッファ42のうちのいずれかをクロックバッファ43に替えてもよい。   10 to 19 do not refer to the clock buffer 43, the wrapper module 60 may include the clock buffer 43. That is, the clock buffer 43 may be disposed close to the external terminal 41 of the hard macro 40. In this case, any of the buffers 42 may be replaced with the clock buffer 43.

〈コンピュータ読み取り可能な記録媒体〉
コンピュータに上記いずれかの機能を実現させるプログラムをコンピュータが読み取り可能な記録媒体に記録することができる。そして、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、DAT、8mmテープ、メモリカード等がある。また、コンピュータに固定された記録媒体としてハードディスクやROM等がある。
<Computer-readable recording medium>
A program that causes a computer to realize any of the above functions can be recorded on a computer-readable recording medium. The function can be provided by causing the computer to read and execute the program of the recording medium. Here, the computer-readable recording medium refers to a recording medium that accumulates information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from the computer. Examples of such a recording medium that can be removed from the computer include a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a DAT, an 8 mm tape, and a memory card. Moreover, there are a hard disk, a ROM and the like as a recording medium fixed to the computer.

以下に本発明の諸態様を付記としてまとめる。
(付記1)
コンピュータによる設計に用いられる半導体集積回路の設計データの作成方法であって、
コンピュータが、
回路ブロックの形状情報、端子位置情報及びタイミング情報が記述された回路ブロックライブラリを作成するステップと、
前記回路ブロック及び前記回路ブロックに接続するユニットセルを有するモジュール回路の接続情報が記述されたネットリストを作成するステップと、
前記ユニットセルの形状情報、端子位置情報及びタイミング情報が記述されたユニットセルライブラリ、前記回路ブロックライブラリ及び前記ネットリストを使用して、前記回路ブロックが配置される回路ブロック配置領域と前記ユニットセルが配置されるユニットセル配置領域とが所定状態で設けられている前記モジュール回路のレイアウトデータを作成するステップと、を実行し、
前記回路ブロックライブラリは、前記回路ブロック配置領域と前記ユニットセル配置領域とが所定状態で設けられている場合の前記回路ブロックのタイミング情報が記述されている半導体集積回路の設計データの作成方法。
(付記2)
前記回路ブロックライブラリは、前記回路ブロック配置領域と前記ユニットセル配置領域とが近接した状態で設けられている場合の前記回路ブロックのタイミング情報が記述されている付記1に記載の半導体集積回路の設計データの作成方法。
(付記3)
前記ユニットセル配置領域は、前記回路ブロック配置領域の周囲に設けられている付記1または2に記載の半導体集積回路の設計データの作成方法。
(付記4)
前記レイアウトデータは、前記回路ブロックに電源を供給するための電源配線領域が更に設けられている付記1から3の何れか一項に記載の半導体集積回路の設計データの作成方法。
(付記5)
前記レイアウトデータは、前記回路ブロックと前記ユニットセルとを結ぶ配線が更に設けられ、
前記ユニットセル配置領域は、前記配線の伸長方向に設けられている付記1から4の何れか一項に記載の半導体集積回路の設計データの作成方法。
(付記6)
前記ユニットセル配置領域は、展開可能である付記1から5の何れか一項に記載の半導体集積回路の設計データの作成方法。
(付記7)
前記ユニットセル配置領域は、前記回路ブロックの形状及び端子位置に応じて設けられている付記1から6の何れか一項に記載の半導体集積回路の設計データの作成方法。
The aspects of the present invention are summarized as additional notes below.
(Appendix 1)
A method of creating design data of a semiconductor integrated circuit used for design by a computer,
Computer
Creating a circuit block library in which circuit block shape information, terminal position information and timing information are described;
Creating a netlist describing connection information of module circuits having unit cells connected to the circuit blocks and the circuit blocks;
Using the unit cell library in which the shape information, terminal position information, and timing information of the unit cell are described, the circuit block library, and the netlist, a circuit block arrangement area in which the circuit block is arranged, and the unit cell Creating module module layout data in which unit cell placement areas to be placed are provided in a predetermined state, and
The circuit block library is a method for creating design data of a semiconductor integrated circuit in which timing information of the circuit block is described when the circuit block arrangement area and the unit cell arrangement area are provided in a predetermined state.
(Appendix 2)
The design of the semiconductor integrated circuit according to appendix 1, wherein the circuit block library describes timing information of the circuit block when the circuit block arrangement area and the unit cell arrangement area are provided close to each other. How to create data.
(Appendix 3)
The method for creating design data of a semiconductor integrated circuit according to appendix 1 or 2, wherein the unit cell arrangement area is provided around the circuit block arrangement area.
(Appendix 4)
4. The method of creating design data for a semiconductor integrated circuit according to any one of appendices 1 to 3, wherein the layout data is further provided with a power supply wiring region for supplying power to the circuit block.
(Appendix 5)
The layout data further includes wiring connecting the circuit block and the unit cell,
5. The method for creating design data of a semiconductor integrated circuit according to any one of appendices 1 to 4, wherein the unit cell arrangement region is provided in an extension direction of the wiring.
(Appendix 6)
6. The method of creating design data of a semiconductor integrated circuit according to any one of appendices 1 to 5, wherein the unit cell arrangement region is expandable.
(Appendix 7)
7. The method for creating design data of a semiconductor integrated circuit according to any one of appendices 1 to 6, wherein the unit cell arrangement area is provided according to a shape and a terminal position of the circuit block.

本設計支援装置を実現するためのコンピュータのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the computer for implement | achieving this design support apparatus. 本設計支援装置の機能ブロック図である。It is a functional block diagram of this design support apparatus. 本設計支援装置が実行する提供データ作成処理の流れを示すフローである。It is a flow which shows the flow of the provision data creation process which this design support apparatus performs. ハードマクロ及びバッファの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a hard macro and a buffer. ハードマクロのタイミングライブラリが参照される場合におけるタイミングテーブルの参照箇所の説明図である。It is explanatory drawing of the reference location of a timing table in case the timing library of a hard macro is referred. ハードマクロ及びバッファの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a hard macro and a buffer. ハードマクロのタイミングライブラリが参照される場合におけるタイミングテーブルの参照箇所の説明図である。It is explanatory drawing of the reference location of a timing table in case the timing library of a hard macro is referred. ハードマクロ及びバッファの配置例を示す図である。It is a figure which shows the example of arrangement | positioning of a hard macro and a buffer. ハードマクロのタイミングライブラリが参照される場合におけるタイミングテーブルの参照箇所の説明図である。It is explanatory drawing of the reference location of a timing table in case the timing library of a hard macro is referred. ラッパーモジュールのネットリストの例を示す図である。It is a figure which shows the example of the net list of a wrapper module. ラッパーモジュールのネットリストに記述されるラッパーモジュールの概念図である。It is a conceptual diagram of the wrapper module described in the net list of the wrapper module. ラッパーモジュールのレイアウトデータの例を示す図である。It is a figure which shows the example of the layout data of a wrapper module. ラッパーモジュールのレイアウトデータの例を示す図である。It is a figure which shows the example of the layout data of a wrapper module. ラッパーモジュールのパターン例についての説明図である。It is explanatory drawing about the example of a pattern of a wrapper module. ラッパーモジュールのパターン例についての説明図である。It is explanatory drawing about the example of a pattern of a wrapper module. LSIチップ上におけるラッパーモジュールの配置についての説明図である。It is explanatory drawing about arrangement | positioning of the wrapper module on a LSI chip. LSIチップ上におけるラッパーモジュールの配置についての説明図である。It is explanatory drawing about arrangement | positioning of the wrapper module on a LSI chip. ハードマクロの外部端子とバッファとを接続する場合のパターンを示す図である。It is a figure which shows the pattern in the case of connecting the external terminal and buffer of a hard macro. ハードマクロの外周に電源配線を設けたラッパーモジュールのレイアウトデータを示す図である。It is a figure which shows the layout data of the wrapper module which provided the power supply wiring in the outer periphery of the hard macro.

符号の説明Explanation of symbols

1 コンピュータ
2 CPU
3 メモリ
4 インターフェース
5 ハードディスク駆動装置
6 可搬媒体駆動装置
7 入力装置
8 表示装置
11 操作部
12 格納部
13 レイアウト部
14 検証部
15 ライブラリ作成部
16 ライブラリ検証部
17 外部端子抽出部
18 ネットリスト作成部
19 タイミング規格抽出部
20 タイミング規格算出部
21 タイミング規格比較部
30 ネットリストデータベース
31 ライブラリデータベース
32 レイアウトデータベース
1 Computer 2 CPU
3 Memory 4 Interface 5 Hard disk drive 6 Portable medium drive 7 Input device 8 Display device 11 Operation unit 12 Storage unit 13 Layout unit 14 Verification unit 15 Library creation unit 16 Library verification unit 17 External terminal extraction unit 18 Netlist creation unit 19 Timing standard extracting unit 20 Timing standard calculating unit 21 Timing standard comparing unit 30 Netlist database 31 Library database 32 Layout database

Claims (5)

コンピュータによる設計に用いられる半導体集積回路の設計データの作成方法であって、
コンピュータが、
回路ブロックの形状情報、端子位置情報及びタイミング情報が記述された回路ブロックライブラリを作成するステップと、
前記回路ブロック及び前記回路ブロックに接続するユニットセルを有するモジュール回路の接続情報が記述されたネットリストを作成するステップと、
前記ユニットセルの形状情報、端子位置情報及びタイミング情報が記述されたユニットセルライブラリ、前記回路ブロックライブラリ及び前記ネットリストを使用して、前記回路ブロックが配置される回路ブロック配置領域と前記ユニットセルが配置されるユニットセル配置領域とが所定状態で設けられている前記モジュール回路のレイアウトデータを作成するステップと、を実行し、
前記回路ブロックライブラリは、前記回路ブロック配置領域と前記ユニットセル配置領域とが所定状態で設けられている場合の前記回路ブロックのタイミング情報が記述されている半導体集積回路の設計データの作成方法。
A method of creating design data of a semiconductor integrated circuit used for design by a computer,
Computer
Creating a circuit block library in which circuit block shape information, terminal position information and timing information are described;
Creating a netlist describing connection information of module circuits having unit cells connected to the circuit blocks and the circuit blocks;
Using the unit cell library in which the shape information, terminal position information, and timing information of the unit cell are described, the circuit block library, and the netlist, a circuit block arrangement area in which the circuit block is arranged, and the unit cell Creating module module layout data in which unit cell placement areas to be placed are provided in a predetermined state, and
The circuit block library is a method for creating design data of a semiconductor integrated circuit in which timing information of the circuit block is described when the circuit block arrangement area and the unit cell arrangement area are provided in a predetermined state.
前記回路ブロックライブラリは、前記回路ブロック配置領域と前記ユニットセル配置領域とが近接した状態で設けられている場合の前記回路ブロックのタイミング情報が記述されている請求項1に記載の半導体集積回路の設計データの作成方法。   2. The semiconductor integrated circuit according to claim 1, wherein the circuit block library describes timing information of the circuit block in a case where the circuit block arrangement area and the unit cell arrangement area are provided close to each other. How to create design data. 前記ユニットセル配置領域は、前記回路ブロック配置領域の周囲に設けられている請求項1または2に記載の半導体集積回路の設計データの作成方法。   3. The method of creating design data for a semiconductor integrated circuit according to claim 1, wherein the unit cell arrangement area is provided around the circuit block arrangement area. 前記レイアウトデータは、前記回路ブロックに電源を供給するための電源配線領域が更に設けられている請求項1から3の何れか一項に記載の半導体集積回路の設計データの作成方法。   4. The method for creating design data of a semiconductor integrated circuit according to claim 1, wherein the layout data is further provided with a power supply wiring region for supplying power to the circuit block. 5. 前記レイアウトデータは、前記回路ブロックと前記ユニットセルとを結ぶ配線が更に設けられ、
前記ユニットセル配置領域は、前記配線の伸長方向に設けられている請求項1から4の何れか一項に記載の半導体集積回路の設計データの作成方法。
The layout data further includes wiring connecting the circuit block and the unit cell,
5. The method for creating design data of a semiconductor integrated circuit according to claim 1, wherein the unit cell arrangement region is provided in an extending direction of the wiring.
JP2008083324A 2008-03-27 2008-03-27 Method for creating design data for semiconductor integrated circuit Pending JP2009237904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008083324A JP2009237904A (en) 2008-03-27 2008-03-27 Method for creating design data for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008083324A JP2009237904A (en) 2008-03-27 2008-03-27 Method for creating design data for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2009237904A true JP2009237904A (en) 2009-10-15

Family

ID=41251775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008083324A Pending JP2009237904A (en) 2008-03-27 2008-03-27 Method for creating design data for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2009237904A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011107967A (en) * 2009-11-17 2011-06-02 Fujitsu Semiconductor Ltd Design verification device, design verification method and design verification program
JP2011170771A (en) * 2010-02-22 2011-09-01 Renesas Electronics Corp Semiconductor integrated circuit and timing adjusting method thereof
JP2014038471A (en) * 2012-08-15 2014-02-27 Fujitsu Semiconductor Ltd Layout model creation device
CN116306466A (en) * 2023-05-18 2023-06-23 北京紫光青藤微系统有限公司 Layout method and layout structure

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011107967A (en) * 2009-11-17 2011-06-02 Fujitsu Semiconductor Ltd Design verification device, design verification method and design verification program
JP2011170771A (en) * 2010-02-22 2011-09-01 Renesas Electronics Corp Semiconductor integrated circuit and timing adjusting method thereof
JP2014038471A (en) * 2012-08-15 2014-02-27 Fujitsu Semiconductor Ltd Layout model creation device
CN116306466A (en) * 2023-05-18 2023-06-23 北京紫光青藤微系统有限公司 Layout method and layout structure

Similar Documents

Publication Publication Date Title
CN107066681B (en) Integrated circuit and computer-implemented method of manufacturing an integrated circuit
US8527930B2 (en) Generating and using route fix guidance
US10713410B2 (en) Method for legalizing mixed-cell height standard cells of IC
KR102419645B1 (en) Computer-implemented method and computing system for designing integrated circuit and method of manufacturing integrated circuit
US11036913B2 (en) Integrated circuit methods using single-pin imaginary devices
JP2009237904A (en) Method for creating design data for semiconductor integrated circuit
CN114444426A (en) Chip design method, device, storage medium and electronic equipment
US20160335386A1 (en) Methods for providing macro placement of ic
KR20170094744A (en) Integrated circuit and computer-implemented method for manufacturing the same
US8418116B2 (en) Zone-based optimization framework for performing timing and design rule optimization
US20230237228A1 (en) Computer readable recording medium with stored program and method of extracting parasitic parameters of a 3d ic thereof
US11126768B2 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US10970452B2 (en) System for designing semiconductor circuit and operating method of the same
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
JP2009134439A (en) Layout design method using soft macro, data structure for soft macro and creation method for soft macro library
US8181143B2 (en) Method and apparatus for generating a memory-efficient representation of routing data
JP6316311B2 (en) Pattern-based power ground (PG) routing and via generation
EP4220471A1 (en) Method of designing layout of semiconductor integrated circuit and design system performing same
US11092885B2 (en) Manufacturing methods of semiconductor devices
US20230267261A1 (en) Design system, design method and method of manufacture of semiconductor device
JP5721934B2 (en) Semiconductor device design support method
KR20230005671A (en) Method for generating layout of an integrated circuit
WO2023080890A1 (en) Automated cell black boxing for layout versus schematic
CN113779923A (en) Device layout with optimized cell layout
JP2005302062A (en) Layout method of large-scale circuit