WO2006137119A1 - フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 - Google Patents

フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 Download PDF

Info

Publication number
WO2006137119A1
WO2006137119A1 PCT/JP2005/011288 JP2005011288W WO2006137119A1 WO 2006137119 A1 WO2006137119 A1 WO 2006137119A1 JP 2005011288 W JP2005011288 W JP 2005011288W WO 2006137119 A1 WO2006137119 A1 WO 2006137119A1
Authority
WO
WIPO (PCT)
Prior art keywords
arrangement
area
placement
unit
floor plan
Prior art date
Application number
PCT/JP2005/011288
Other languages
English (en)
French (fr)
Inventor
Yoichiro Ishikawa
Original Assignee
Fujitsu Limited
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 Limited filed Critical Fujitsu Limited
Priority to PCT/JP2005/011288 priority Critical patent/WO2006137119A1/ja
Priority to JP2007522143A priority patent/JP4221045B2/ja
Publication of WO2006137119A1 publication Critical patent/WO2006137119A1/ja
Priority to US11/953,226 priority patent/US7962884B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits

Definitions

  • the present invention relates to a floor plan technology of a semiconductor integrated circuit (for example, LSI: Large Scale Integrated circuit), and in particular, the shape and size of an arrangement target consisting of a basic logic circuit is roughly determined in advance by a divided hierarchical design. Under the circumstances, the placement object is placed on the mounting area of the semiconductor integrated circuit, the position of the internal element in the placement object is determined, and the shape, size, and placement position of the placement object are determined. Regarding the technology to be determined.
  • LSI Large Scale Integrated circuit
  • an arrangement target is a logical functional unit that performs a part of the functions of a semiconductor integrated circuit to be a floor plan.
  • the arrangement, shape, and size can be changed. It means a user logic circuit (for example, a subchip) or a mounting block (for example, an LSG (Layout Sub Group) block) obtained by dividing the user logic circuit into a mounting hierarchy (mounting area).
  • a user logic circuit for example, a subchip
  • a mounting block for example, an LSG (Layout Sub Group) block
  • a semiconductor integrated circuit (Chip) 110 force external input / output area 111 and a plurality of sub chips (Sub Chips) to be floorplanned
  • each of the plurality of subchips 112 includes a plurality of internal elements (elements; for example, RAM (Random Access Memory), ROM (Read Only Memory), Standard Cell)).
  • the sub chip 112 or the mounting block 113 is an object to be arranged.
  • the mounting block 113 is an object to be placed (Figs. 33 (b), (c) (See Fig. 33 (a) and (b)).
  • the subchip 112 is the object to be placed (see Fig. 33 (a) and (b)).
  • a floor plan apparatus of a semiconductor integrated circuit for example, LSI: Large Scale Integrated circuit
  • the arrangement objects 102 to 105 are rectangular so that the plurality of arrangement objects 102 to 105 do not overlap each other.
  • a rectangular filled region indicates internal elements in the respective arrangement objects 102 to 105.
  • the arrangement objects 102 to 105 are rectangular, the arrangement of internal elements (internal cells; for example, RAM: Random Access Memory, ROM: Read Only Memory, standard cells) of the arrangement objects 102 to 105 Due to the wiring constraints, the area of the placement objects 102 to 105 is increased, the area of the semiconductor integrated circuit 100 is increased, and the timing of the semiconductor integrated circuit 100 within the specified cycle time is converged. It will be difficult (first issue).
  • the arrangement objects 102 to 105 are rectangular, the arrangement objects 102 and 103 are caused by the shape, size, and number of internal elements shown in the arrangement objects 102 and 103.
  • the difference in density increases and dead space increases (second problem).
  • the objects 102 'to 105' are designed using various non-rectangular arbitrary figures (here, right-angled polygons),
  • a floor plan device designed so that the arrangement objects 102 'to 105' do not overlap each other.
  • the semiconductor integrated circuit 10 (1) is arranged while arranging the placement objects 102 ′ to 105 ′ having the same internal elements as the placement objects 102 to 105 shown in FIG. It is possible to make the bag smaller than the semiconductor integrated circuit 100. As a result, the first and second problems can be solved.
  • Patent Document 1 JP 2000-20566 A
  • Patent Document 2 Japanese Patent Laid-Open No. 2003-45780
  • the present invention was devised in view of such a problem, and when implementing a floor plan of a semiconductor integrated circuit, the degree of freedom of arrangement and wiring of internal elements of an arrangement target is ensured.
  • the purpose is to make it possible to efficiently reduce the size of the semiconductor integrated circuit and reduce the dead space while suppressing the increase in the restrictions of the CAD system.
  • the floorplan apparatus of the present invention performs an arrangement process on a mounting area of a plurality of arrangement target blocks in which internal elements are arranged.
  • a temporary placement unit for temporarily placing the plurality of placement target blocks on the mounting region, so that at least two placement target blocks of the placement target blocks overlap each other to form an overlap region; and
  • An optimization unit that optimizes the placement target block by changing the placement of the internal element of at least one placement target block among the placement target blocks to be formed while using the overlapping region is provided. Characterized by being composed! /
  • the temporary placement unit is arranged on the mounting area so that the plurality of placement target blocks do not overlap with each other, and at least of the plurality of placement target blocks arranged by the placement unit.
  • the overlapping region forming unit is configured to include an overlapping region forming unit that forms the overlapping region by changing the arrangement and Z or shape of one placement target block. It is preferable to transform a non-rectangular placement target block into a rectangle.
  • the optimization unit has changed the arrangement of the internal element of at least one arrangement target block among the arrangement target blocks forming the overlapping area, and the arrangement of the internal element has been changed.
  • the optimization unit causes the internal elements of the plurality of placement target blocks forming the overlap region to interfere with each other.
  • the interference is resolved by changing the arrangement of at least one of the internal elements that interfere with each other. It is preferable.
  • the optimization unit removes the overlapping area from the entire area of the placement target block for each of the placement target blocks forming the overlapping area, and the internal area in the dedicated area.
  • the used area ratio of elements hereinafter referred to as the first used area ratio
  • the used area of the internal elements of the placement target block forming the overlapping area in the overlapping area hereinafter referred to as overlapping area used area
  • the optimizing unit has a placement target block having the highest first used area ratio among the placement target blocks forming the overlap area so that the overlap area use area is maximized. It is preferable to change the arrangement of the internal elements.
  • the optimization force of the placement target block having the first first use area ratio among the two placement target blocks is high. 1 Change the placement of the internal elements of the one placement target block so that the use area ratio is the same as the first use area ratio of the other placement target block It is preferable to do.
  • the optimization unit is configured to make the second usage area ratio the maximum while making the first usage area ratio of each of the arrangement target blocks forming the overlapping region the same. It is preferable to change the arrangement of the internal elements of the block.
  • the optimization unit changes the arrangement of the internal elements according to a logical cost expectation value calculated based on a connection relation of the internal elements in the arrangement target block.
  • the optimization unit changes the arrangement of the internal element according to an expected mounting cost value calculated based on a connection relationship between the internal element and an internal element of another arrangement target block. It is preferable.
  • the optimization unit is based on a connection relationship between an expected logical cost calculated based on a connection relationship of the internal element in the placement target block and an internal element of another placement target block of the internal element. It is preferable to change the arrangement of the internal elements according to the total cost expected value calculated based on the mounting cost expected value calculated in the above.
  • the optimization unit performs the arrangement of the internal elements in the overlapping region based on a connection relationship of the internal elements.
  • the information processing apparatus further includes a display unit that displays information related to the placement process and an input unit that inputs response information for display data on the display unit, and the optimization unit receives the response information input by the input unit. It is preferable to make various settings based on the above.
  • the floor plan program of the present invention causes a computer to realize a function of performing placement processing on a mounting area of a plurality of placement target blocks in which internal elements are placed.
  • Temporary placement in which the plurality of placement target blocks are provisionally placed on the mounting region such that at least two placement target blocks of the plurality of placement target blocks overlap each other to form an overlapping region.
  • the placement target block is optimized by rearranging the internal elements of at least one placement target block among the placement target blocks forming the overlapping area and using the overlap region.
  • the computer is made to function.
  • the computer When the computer is caused to function as the temporary placement unit, the plurality of placement target blocks are placed on the mounting region so as not to overlap each other, and the placement unit is placed by the placement unit.
  • the computer is caused to function as an overlapping area forming unit that forms the overlapping area by changing an arrangement and Z or shape of at least one of the plurality of arrangement target blocks.
  • the optimization unit changes the arrangement of the internal elements of at least one arrangement target block of the arrangement target blocks forming the overlapping area, and the arrangement of the internal elements is changed.
  • the computer is preferably caused to function so as to change the shape of the arrangement target block.
  • a computer-readable recording medium of the present invention records the above-described floor plan program.
  • the temporary placement unit forms an overlapping region
  • the optimization unit uses the overlapping region, and the placement of the internal element of the placement target block forming the overlapping region is determined. Since the placement target block is optimized by changing, the placement of the internal elements of the placement target block must be redesigned so that multiple placement target blocks share the overlapping area. As a result, the semiconductor integrated circuit can be reduced in size and dead space can be reduced.
  • the present invention does not reduce the size of the arrangement target block by making it a complex polygon, so that it is possible to ensure the freedom of arrangement and wiring of the internal elements of the arrangement target block. Increase in CAD system constraints can be suppressed.
  • FIG. 1 is a block diagram showing a configuration of a floor plan apparatus as an embodiment of the present invention.
  • FIG. 2 is a diagram for explaining the formation of the common area by the common area forming part of the temporary arrangement part of the floor plan device as one embodiment of the present invention
  • (a) It is a figure which shows the arrangement
  • (b) is a figure which shows the arrangement
  • (c) is formed by the common area formation part. It is a figure which shows the made common area.
  • FIG. 3 is a diagram for explaining the formation of the common area by the common area forming portion of the temporary placement portion of the floor plan apparatus as one embodiment of the present invention, and (a) is placed by the placement portion of the temporary placement portion.
  • (B) is a diagram showing a placement object whose shape has been changed by the common area forming unit
  • (c) is a diagram formed by the common area forming unit. It is a figure which shows the common area.
  • FIG. 4 is a diagram for explaining the formation of the common area by the common area forming portion of the temporary placement portion of the floor plan apparatus as one embodiment of the present invention, and (a) is placed by the placement portion of the temporary placement portion.
  • FIG. 4B is a diagram showing a common area formed by a common area forming unit.
  • FIG. 5 is a diagram for explaining the overlapping of internal elements in the common area formed by the common area forming portion of the temporary arrangement portion of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 6 is a diagram showing common area attribute information acquired by the common area forming unit of the temporary arrangement unit and displayed on the display unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 7 is a diagram showing common area unused area available information generated by the common area forming unit of the temporary arrangement unit, which is displayed on the display unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 8 is a diagram showing common area internal element information acquired by the common area forming unit of the temporary arrangement unit, which is displayed on the display unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 9 is a diagram for explaining the contents of the actual value that is the current usage status of the common area acquired by the expected value calculation unit of the floor plan device as one embodiment of the present invention.
  • the logical cost of the expected value calculation unit of the floor plan device as one embodiment of the present invention is a diagram for explaining the contents of the expected logical cost value calculated by the expected value calculation unit.
  • FIG. 11 is a diagram showing an example of the actual value and the expected value displayed on the display unit of the floor plan apparatus as one embodiment of the present invention, and (a) shows the current common area acquired by the expected value calculation unit It is a figure which shows a use condition, (b) is a user period which a user inputs with an input part. (C) is a diagram showing the expected logical cost calculated by the expected logical value calculation unit of the expected value calculation unit, and (d) is the expected implementation cost value of the expected value calculation unit. It is a figure which shows the mounting cost expectation value which a calculation part calculates, (e) is a figure which shows the comprehensive cost expectation value which the comprehensive cost expectation value calculation part of an expectation value calculation part calculates.
  • Implementation cost of the expected value calculation unit of the floor plan apparatus as one embodiment of the present invention is a diagram for explaining the contents of the expected implementation cost calculated by the expected value calculation unit.
  • FIG. 13 is a diagram for explaining the contents of the total cost expected value calculated by the expected value calculating unit of the expected value calculating unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 14 is a diagram showing common area usage configuration information acquired or calculated by an expected value calculation unit displayed on the display unit of the floor plan apparatus as one embodiment of the present invention
  • (a) is a diagram illustrating (a) in FIG. This corresponds to the current usage status (actual value) shown in a),
  • (b) corresponds to the expected logical cost shown in Fig. 11 (c), and
  • (c) shows in Fig. 11 (d).
  • (D) corresponds to the expected total cost shown in Fig. 11 (e).
  • FIG. 15 is a diagram showing common area internal element error information acquired by the determination unit of the optimization unit and displayed on the display unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 16 is a diagram for explaining the arrangement of internal elements in the common area by the first arrangement changing unit of the arrangement changing unit of the optimization unit of the floor plan device as one embodiment of the present invention.
  • (A) is a schematic diagram showing arrangement objects forming common areas and these arrangement objects together with internal elements
  • (b) is a diagram showing common area usage information.
  • FIG. 20 shows a case where the second arrangement changing unit of the optimizing unit arrangement changing unit changes the arrangement of the internal elements in the third mode, which is displayed on the display unit of the floor plan apparatus as one embodiment of the present invention.
  • FIG. 2 is a diagram showing a state of a common area
  • ( a ) is a schematic diagram showing an arrangement object that forms the common area together with internal elements
  • (b) is a diagram showing common area usage information.
  • FIG. 21 is a diagram for explaining the internal element arrangement changing process by the third arrangement changing unit of the optimizing unit arrangement changing unit of the floorplan apparatus as one embodiment of the present invention, and an arrangement forming a common area It is a figure which shows a target object.
  • FIG. 22 is a diagram for explaining the internal element layout change process, (a) is a diagram showing the common area before the internal element layout change process, and (b) is after the internal element layout change process. It is a figure which shows this common area.
  • FIG. 25 is a diagram for explaining the shape changing process of an arrangement target by the shape changing unit of the optimization unit of the floor plan device as one embodiment of the present invention, and (a) is a diagram before forming a common area.
  • FIG. 26 is a flowchart showing a design procedure of a semiconductor integrated circuit to which floor plan processing by the floor plan apparatus as one embodiment of the present invention is applied.
  • FIG. 28 is an example of a display screen that is displayed on the display unit by the optimization unit of the floor plan apparatus as one embodiment of the present invention to confirm to the user whether or not to change the internal element of the arrangement target object.
  • ⁇ 29 for selecting a method for changing the arrangement of the internal elements of the arrangement target displayed on the display unit by the arrangement changing unit of the optimization unit of the floor plan apparatus as one embodiment of the present invention. It is a figure which shows an example of a selection screen.
  • FIG. 30 An example of a selection screen for selecting a mode of the layout change process displayed on the display unit by the second layout change unit of the layout change unit of the optimization unit of the floor plan device as one embodiment of the present invention.
  • FIG. 31 is a diagram for explaining the layout change processing of internal elements by the layout change section of the optimization section of the floor plan apparatus as a modification of the present invention, and (a) is a layout target before forming a common area.
  • (B) is a diagram showing an arrangement object after the common area is formed and before the internal element arrangement change process, and (c) is an arrangement object after the internal element arrangement change process. It is a figure which shows an object, (d) is a figure which shows the arrangement
  • FIG. 32 is a schematic diagram showing an example of a semiconductor integrated circuit that is a target of the floorplan apparatus of the present invention.
  • FIG. 33 is a diagram for explaining an arrangement object in the floor plan processing by the floor plan apparatus of the present invention, (a) is a diagram schematically showing the semiconductor integrated circuit shown in FIG. (b) is a diagram showing one sub-chip in the semiconductor integrated circuit shown in (a), and (c) is a diagram showing one mounting block in the sub-chip shown in (b).
  • FIG. 34 is a diagram showing an example of a semiconductor integrated circuit subjected to floorplan processing by a conventional floorplan apparatus.
  • FIG. 35 is a diagram showing an example of a semiconductor integrated circuit subjected to floorplan processing by a conventional floorplan apparatus. Explanation of symbols
  • Placement object Placement target block
  • FIG. 1 is a block diagram showing the configuration of the floor plan apparatus as an embodiment of the present invention.
  • this floor plan apparatus 1 includes a database 2, a display unit 3, a display control unit 4, an input unit 5, a temporary arrangement unit 10, an expected value calculation unit 20, and an optimization unit 30. Configured.
  • Database 2 stores data (placement object information) related to placement objects designed by the divided hierarchy design, a net list of semiconductor integrated circuits that are the floor plan targets, and the like.
  • the arrangement object information and netlist held in the database 2 are RTL (Register Transfer Level) that is performed before the floorplan processing by the floorplanning apparatus 1 in the design procedure of the semiconductor integrated circuit. It is obtained based on the results of design (see step SI in FIG. 26 described later) and logic synthesis (see step S2 in FIG. 26 described later).
  • RTL Registered Transfer Level
  • the placement target information includes at least information on the dimensions and shape of the placement target in the semiconductor integrated circuit to be designed, the connection relationship with other placement targets, etc., and information on internal elements of the placement target (internal Element quantity, type, dimensions, connection, etc.).
  • the display unit 3 is information relating to the placement processing of the placement object by the temporary placement unit 10 and the optimization unit 30 (FIGS. 6 to 8, FIG. 15, FIG. 17 (a), (b) to FIG. 20 (see (a) and (b)) and the expected value calculated by the expected value calculation unit 20 (see Fig. 11 (a) to (e) and Fig. 14 (a) to (d) described later) To do.
  • the display control unit 4 controls the display contents of the display unit 3.
  • the input unit 5 is used by a user of the floor plan apparatus 1 (hereinafter simply referred to as a user) to input various setting items for the floor plan.
  • a user inputs response information (various setting items) for the display data on the display unit 3 using the input unit 5. To do.
  • the temporary placement unit 10 temporarily places the plurality of placement objects on the mounting area so that at least two of the placement objects overlap each other to form a common area (overlapping area).
  • the arrangement portion 11 and the common area forming portion (overlapping region forming portion) 12 are provided.
  • the placement unit 11 places a plurality of placement objects on the mounting area so that they do not overlap each other.
  • the placement object information and the netlist stored in the database 2 are arranged. Based on the above, create a placement object, and place the created placement object on the mounting area.
  • the common area forming unit 12 forms a common area by changing the arrangement and Z or shape of at least one arrangement object among the plurality of arrangement objects arranged by the arrangement unit 11.
  • the placement unit 11 causes a non-rectangular (here, right-angled polygon) placement target L1 and a rectangular placement target L2 to be placed on the mounting area. If they are arranged so that they do not overlap with each other, the common area forming unit 12 adds a region Ml indicated by diagonal lines as shown in FIG. 2 (b) to change the shape of the arrangement object L1 from non-rectangular to rectangular. By changing, a common area W1 is formed in which the arrangement object L1 deformed into a rectangle as shown in FIG. 2 (c) and the arrangement object L2 overlap each other.
  • a common area W1 is formed in which the arrangement object L1 deformed into a rectangle as shown in FIG. 2 (c) and the arrangement object L2 overlap each other.
  • the non-rectangular (here, right-angled polygonal) arrangement objects L3 and L4 are arranged so as not to overlap each other by the arrangement unit 11 as shown in FIG.
  • the common area forming unit 12 is transformed into a rectangular shape by adding the regions M3 and M4 indicated by diagonal lines to the placement objects L3 and L4 as shown in FIG.
  • the arrangement objects L3 and L4 transformed into a rectangle form a common area W2 overlapping each other.
  • the common area creation unit 12 By changing the arrangement of at least one of the arrangement objects L5 and L6 as shown in Fig. 4 (b), the arrangement objects L5 and L6 form a common area W3 where they overlap each other.
  • the common area forming unit 12 may form a common area based on a user instruction input by the input unit 5, or may automatically form a common area.
  • the common area forming unit 12 forms a common area based on a user instruction
  • the result of arrangement of the arrangement object by the arrangement unit 11 is displayed on the display unit 3 (see, for example, FIG. 33 (b)).
  • the user selects a plurality of placement objects (that is, placement objects) that form a common area based on the placement object information (for example, vacant area and connection relationship) of each placement object displayed on the display unit 3. (Set of objects) and operate the mouse (for example, move the mouse to move the pointer over the desired placement object in the placement objects displayed on the display unit 3 and move the mouse. Click to select these placement objects as placement objects that form a common area.
  • the common area forming unit 12 performs the above-described FIG.
  • the common area is formed by transforming the object to be placed into a rectangle as shown in c) or Fig. 3 (a) to (c).
  • a common area is formed by changing the arrangement of at least one of the objects.
  • the movement of the arrangement target by the common area forming unit 12 is caused by the vacant areas of the plurality of arrangement objects selected by the user (that is, the internal elements in the arrangement target are arranged, Based on the area).
  • the common area forming unit 12 determines the area of the common area based on the vacant areas of the plurality of objects to be arranged that form the common area, and arranges the object to be arranged so as to be the area.
  • database 2 holds a table indicating the correspondence between the free area of the objects to be arranged that form the common area and the area of the common area.
  • the unit 12 determines the area of the common area based on this table, and changes the arrangement of the arrangement objects so that the common area is an effective area.
  • the common area forming unit 12 may form a common area by changing the arrangement of the arrangement target. As described above, the common area forming unit 12 changes the arrangement of the arrangement object based on the vacant area of the arrangement object.
  • the common area forming unit 12 when the common area forming unit 12 automatically forms a common area, the common area forming unit 12 includes, for example, the arrangement target information (empty area, empty area rate, connection relationship) held in the database 2. Etc.), a plurality of placement objects (a set of placement objects) that form a common area are selected. Also in this case, it is preferable that the display unit 3 displays the arrangement result of the arrangement object by the arrangement unit 11.
  • a placement object whose vacant area or vacant area ratio is greater than or equal to a preset threshold is selected or connected. It is preferable to select multiple placement objects that have a large relationship, or to select a combination of these.
  • the common area forming unit 12 may perform the above-described FIG. 2 (a) to (c) or FIG. 3 (a) if at least one of the selected arrangement objects is a non-rectangular object.
  • the common area is formed by transforming the object to be arranged into a rectangle as shown in (c).
  • the common area forming unit 12 may provide at least one arrangement as shown in FIGS. 4 (a) and 4 (b), as long as all the arrangement objects in the selected arrangement object group are rectangular. A common area is formed by changing the arrangement of objects.
  • the common area forming unit 12 changes the arrangement of the arrangement object based on the vacant area of the arrangement object, as in the case where the arrangement object forming the common area is selected by the user described above. .
  • the common area forming unit 12 acquires common area information regarding the formed common area and stores it in the database 2.
  • This common area information includes, for example, common area attribute information (see FIG. 6 to be described later), common area unused area availability information (see FIG. 7 to be described later), and common area internal element information (see FIG. 8 to be described later). Including.
  • the common area forming unit 12 acquires common area attribute information as shown in FIG. 6 for each formed common area, and the display control unit 4 displays the common area attribute information as a screen 12a as shown in FIG. Display on Display 3
  • the common area forming unit 12 uses, as the common area attribute information, the common area identification name (“W” in this case), the coordinates of the apex, and the names of the arrangement objects constituting the common area (“configuration” in FIG. 6).
  • “L10, L20J” the total area of the common area (here “15000”), the occupied area and the occupied area ratio occupied by all internal elements in the common area W, the inside of each placement object L10, L20 Occupied area occupied by elements (indicated as “L10 occupied area” and “L20 occupied area” in FIG. 6) and occupied area ratio (indicated as “L10 occupied area ratio” and “L20 occupied area ratio” in FIG. 6), common In area W, internal elements are arranged, and the unused area and the unused area ratio are obtained.
  • the common area forming unit 12 sets, as the common area information, the arrangement area of the internal elements in the unused area of the common area and the number of channels that can be wired in the vertical and horizontal directions. Common area unused area availability information predicted according to the usage ratio is generated.
  • This common area unused area usable information is displayed on the display unit 3 by the display control unit 4 as a screen 12b as shown in FIG. In the example shown in Fig. 7, it was generated when the usage ratio between the layout of internal elements and the wiring in the unused area of the common area is "1: 0", "0: 1", "1: 1" Common area unused area available information.
  • the area where the internal elements can be placed is “12000”, and when “0: 1” (used only for wiring) ),
  • the number of channels that can be wired is 280 in the vertical direction and 300 in the horizontal direction.
  • the layout area of the internal elements is “ It is shown that the number of channels that can be wired is 6000 "and 140 in the vertical direction and 150 in the horizontal direction!
  • the common area forming unit 12 uses internal information in the common area as common area information. Acquires common area internal element information related to elements. This common area internal element information is
  • Fig. 8 it contains the identification name, position coordinates (indicated as "coordinates” in Fig. 8), area, and belonging object name within the common area.
  • the element information represents the initial state of the common area.
  • the common area internal element information is displayed on the display unit 3 as a screen 12c by the display control unit 4 as shown in FIG.
  • the position coordinates of each internal element are represented by the coordinates of the two points of the lower left vertex and the upper right vertex of the internal element.
  • the common area information (common area attribute information, common area unused area availability information, and common area internal element information) shown in FIGS. It is displayed on the display unit 3 in order to determine various setting items necessary for the optimization process by the optimization unit 30 described later.
  • the expected value calculation unit 20 uses various cost information capabilities to optimize various actual cost values (expected values for common areas calculated by using parameters such as logic information and mounting information). It is calculated as common area optimization information, and is composed of an expected logical cost calculation unit 21, an implementation cost expected value calculation unit 22, and an overall cost expected value calculation unit 23 as shown in FIG.
  • the logical cost expectation value calculation unit 21 is based on the arrangement when the connection relation of the internal elements in each arrangement object is optimal in each of the plurality of arrangement objects forming the common area.
  • the area used for the internal elements of each placement object in the common area is calculated as the expected logical cost.
  • the logical cost expectation value calculation unit 21 calculates the logical cost expectation value based on the connection relationship of the internal elements in the arrangement target, and the cell boundary spacing area is compared to the area of the internal elements.
  • the expected logical cost value is calculated in consideration of
  • the current usage status (actual value) in the common area W is as shown in FIG.
  • the total area force of the internal elements of the arrangement target L10 is 1400 "
  • the total area of the internal elements of the arrangement target L20 is" 1200 "
  • the free area is” 12400 "
  • the logical cost expected value calculation unit 21 calculates the value obtained by adding the cell boundary spacing area to the total area of the internal elements in the initial state of the placement target L10 as shown in FIG. , "3500")
  • the total area of internal elements in the initial state of the placement object L20 plus the cell boundary spacing area (here, "4000”), and other free areas (here Then, "7500”) is calculated as the expected logical cost.
  • the cell boundary spacing area is a layout prohibition area provided outside the boundary of each cell, and this area is noisy due to interference between internal elements of each cell and external wiring. In order to prevent short-circuiting, this refers to the spacing reserved in advance outside the cell boundary.
  • the expected cost value (common area optimization information) calculated by the expected value calculation unit 20 is displayed on the display unit 3 as a bar graph 20a as shown in FIGS. Ll (a) to (c), for example, and the logical cost.
  • the expected logical cost value calculated by the expected value calculation unit 21 is displayed as shown in FIG. 11 (c).
  • FIG. 9, FIG. 10, FIG. 11 (a) to (e), and FIG. 12 and FIG. 13 described later are common area optimization information for the common area W shown in FIG. 6 to FIG. FIG.
  • the display control unit 4 uses the common area current usage status (actual value; figure 11 (a) as common area optimization information. )), The expected user value entered by the user through the input unit 5 (see FIG. 11 (b)), and various cost expected values calculated by the expected value calculation unit 20 (calculated by the logical cost expected value calculation unit 21) Expected logical cost; see Fig. 11 (c), expected implementation cost calculated by implementation cost expected value calculator 22; see total cost calculated by expected cost calculator 23, see Fig. 11 (d) The expected value (see Fig. 11 (e)) is displayed on the display 3 as a bar graph 20a.
  • the current usage status (actual value) shown in FIG. 11 (a) is the usage status of the internal elements of the arrangement objects L10 and L20 in the current common area W, and corresponds to FIG. .
  • the expected user value shown in Fig. 11 (b) is the same as the common area shown in Figs.
  • This is a user-desired value input by the user using the input unit 5 while referring to the information (the use area of each placement object L10, L20 in the common area W). Here, it depends on the internal elements of the placement object L10.
  • the use area is “7500”
  • the use area by the internal elements of the arrangement object L20 is “7400”
  • the free area is “100”.
  • the expected logical cost value calculated by the expected logical cost value calculation unit 21 is as shown in FIG.
  • the mounting cost expected value calculation unit 22 performs the optimal arrangement considering the connection relation between the internal elements of the arrangement target object and the internal elements of the other arrangement target object (that is, the connection relation with the other arrangement target object).
  • the use area of the internal elements of each placement object in the common area is calculated as the expected cost of mounting.
  • the expected mounting cost value calculated by the expected mounting cost value calculation unit 22 takes into account the wiring reservation area that secures the area where the wiring passes in advance and the terminal reservation area that secures the area that allocates the terminal in advance. It is calculated and expressed as the area used for the internal elements of each arrangement object in the common area when the connection relation of the internal elements of the plurality of arrangement objects forming the common area is the best.
  • the expected implementation cost value calculation unit 22 is arranged as shown in FIG.
  • the expected mounting cost value calculated by the expected mounting cost value calculation unit 22 is displayed on the display unit 3 as shown in FIG. 11 (d).
  • the total cost expected value calculation unit 23 calculates the total cost expected value based on the logical cost expected value calculated by the logical cost expected value calculation unit 21 and the mounting cost expected value calculated by the mounting cost expected value calculation unit 22. For example, the logical cost expectation value and The total cost expected value is calculated using the ratio of the expected mounting cost value.
  • the total cost expectation value calculation unit 23 calculates the total cost expectation value of the placement target object L10 by the following formula (1), and calculates the total cost of the placement target object L20 by the following formula (2).
  • Expected total cost of target object L10 (Expected ratio of expected logical cost of target object L10 + Percentage of expected mounting cost of target object L10) Z Total number of cost types X (Common area area vacant area) ⁇ ' ⁇ (1)
  • Expected total cost of placement object L20 (Expected ratio of expected logical cost of placement object L20 + Expected ratio of mounting cost of placement object L20) ⁇ Total number of cost types ⁇ (Common area area vacant area) ⁇ ⁇ ⁇ (3 ⁇ 4
  • the free space is a preset default value.
  • the total cost expected value calculation unit 23 uses the following formula ( ⁇ )
  • the total cost expectation calculation unit 23 calculates the placement object L by the following formula (2 ⁇
  • the total cost expected value of the placement target L10 calculated by the total cost expectation value calculation unit 23 as shown in FIG. 13 is “total area of internal elements of the placement target L10 + cell boundary spacing area + wiring” Reserved area + terminal reserved area + free space to be distributed ", and the value is” 6910 ".
  • the total cost expectation value of the placement target L20 is “the total area of the internal elements of the placement target L20 + cell boundary spacing area + wiring reserved area + terminal reserved area + distributed” "Free space” and the value becomes "7340".
  • the free space is a force that is a preset value (here, “750”).
  • 5% of the total area of the common area is preset to be free space.
  • the expected total cost value calculated by the expected total cost value calculation unit 23 is displayed on the display unit 3 as shown in FIG. 11 (e).
  • the common area usage configuration information shown in Fig. 14 (a) corresponds to the current usage status (actual value) shown in Fig. 11 (a), and the initial arrangement objects LIO and L20 in the common area W are shown. Shows the contents of the state's internal elements.
  • the common area usage configuration information is acquired by the overlapping area forming unit 12.
  • the area L10 used in the common area W (total area of internal elements) "1400" breakdown power
  • the cell placement is "800”
  • the wiring reservation area is "500”
  • the use area of the placement object L20 in the common area W (total area of internal elements)
  • the breakdown of "1200” is that the cell placement is "700” and the wiring reserved area is " 400 "and the others are” 100 ".
  • the common area usage configuration information shown in Fig. 14 (b) corresponds to the expected logical cost value calculated by the expected logical cost value calculation unit 21 shown in Fig. 11 (c). This shows the contents of the internal elements of the placement objects LIO and L20 in the common area W when the expected value is the strike. This common area usage configuration information is calculated by the logical cost expected value calculation unit 21.
  • the breakdown of the use area "3500” of the placement object L10 in the common area W is “1400", the wiring reservation area is “500”, and the cell boundary spacing Indicates that the area is “1400” and the others are “200”, and the disposition object in the common area W
  • the breakdown area of the area used by L20 "4000” The cell arrangement is “1700”, the wiring reservation area Is "400” and the cell boundary spacing area is “1700” Indicate that the other is "200”!
  • the common area usage configuration information shown in Fig. 14 (c) corresponds to the expected mounting cost calculated by the mounting cost expected value calculation unit 22 shown in Fig. 11 (d). This shows the contents of the internal elements of the placement objects LIO and L20 in the common area W when the expected value is the strike. This common area usage configuration information is calculated by the expected mounting cost calculation unit 22.
  • the breakdown of the use area “6000” of the placement object L10 in the common area W is “1400", the wiring reservation area is "2000”, and the cell boundary spacing This indicates that the area is “1400”, the terminal reserved area is “1000”, and the others are “200”, and the breakdown of the use area “6000” of the placement object L20 in the common area W is the cell placement Is "1700”, the wiring reservation area is "400”, the cell boundary spacing area is "1700”, the terminal reservation area is "800”, and the others are "2000” Show.
  • the common area usage configuration information shown in Fig. 14 (d) corresponds to the total cost expectation value calculated by the total cost expectation value calculation unit 23 shown in Fig. 11 (e). This shows the contents of the internal elements of the placement objects LIO and L20 in the common area W when the expected value is the strike. This common area usage configuration information is calculated by the total cost expected value calculation unit 23.
  • the breakdown of the use area “6910" of the placement object L10 in the common area W is “1400", the wiring reservation area is “2000”, and the cell boundary spacing The area is “1400”, the terminal reserved area is “1000”, and the others are “1100”, and the breakdown of the use area “7340” of the placement object L20 in the common area W is the cell
  • the layout is “1400”, the wiring reservation area is "2000”, the cell boundary spacing area is “1400”, the terminal reservation area is "1000”, and the others are “1540” Is shown.
  • the user displays common area optimization information (see FIGS. 11 (a) to (e)) and common area usage configuration information (see FIGS. 14 (a) to (d)) displayed on the display unit 3.
  • common area optimization information see FIGS. 11 (a) to (e)
  • common area usage configuration information see FIGS. 14 (a) to (d)
  • the user expectation value is input via the input unit 5
  • the optimization unit Based on the expected user value to which 30 is input, the optimization process of the arrangement target is executed as described later.
  • the optimization unit 30 changes the arrangement of the internal elements of at least one of the arrangement objects forming the common area within the arrangement object while using the common area.
  • the arrangement object is optimized, and includes a determination unit 31, an arrangement changing unit 32, and a shape changing unit 33 as shown in FIG.
  • the determination unit 31 determines whether or not the internal elements of the plurality of arrangement objects forming the common area interfere with each other (that is, whether or not there is an overlap of internal elements). is there.
  • the determination unit 31 is generated by the common area forming unit 12. Based on the common area internal element information (see FIG. 8), it is determined whether or not the internal elements of the plurality of arrangement objects forming the common area interfere with each other.
  • the determination unit 31 uses the internal elements (here, “dvrl” and “wiring reservation”) of the plurality of arrangement objects LIO and L20 that form the common area W.
  • the common area internal element error information for notifying the user of the strong interference shown in FIG. 15 is displayed on the display unit 3 as the screen 31a. .
  • the arrangement changing unit 32 based on a user instruction (here, a user expected value; see FIG. 11 (b)) input via the input unit 5, sets a plurality of arrangement objects forming the common area. It changes the arrangement of the internal elements of at least one of the arrangement objects, and optimizes the arrangement object by changing the arrangement of the internal elements.
  • a user instruction here, a user expected value; see FIG. 11 (b)
  • the arrangement changing unit 32 sets a plurality of arrangement objects forming the common area. It changes the arrangement of the internal elements of at least one of the arrangement objects, and optimizes the arrangement object by changing the arrangement of the internal elements.
  • the arrangement changing unit 32 determines that the internal elements of the plurality of arrangement objects forming the common area are interfering with each other by the determining unit 31, the internal changing units 32 interfere with each other in order to eliminate the interference. Change the placement of the inner element of at least one of the elements.
  • the arrangement changing unit 32 includes a first arrangement changing unit 32a, a second arrangement changing unit 32b, and a third arrangement changing unit 32c.
  • the first arrangement changing unit 32a receives the user expected value (Fig. 11 (b)), multiple types of expected cost values calculated by the expected value calculation unit 20 (the expected logical cost value, the expected mounting cost value, and the total expected cost value; Fig. 11 (c) to ( e) Medium power of (see) Select one cost expectation value, and change the placement of the internal elements of the placement object that forms the common area based on the selected cost expectation value.
  • the first arrangement changing unit 32a uses the expected value determination function f shown in the following equation (3).
  • the expected value to be used for the placement change process is selected from the expected cost values (the expected logical cost value, the expected mounting cost value, and the expected total cost value).
  • Expected value judgment function f min I user expected value each cost expected value I (3) Therefore, the first arrangement changing unit 32a calculates each cost expected value from the user expected value based on the above formula (3). The expected cost value with the smallest absolute value of the subtracted value is selected as the expected cost value to be used in the placement change process.
  • the first arrangement changing unit 32a calculates the total cost expected value (see Fig. 11 (e)) based on the above equation (3). select.
  • the first arrangement changing unit 32a determines each arrangement object based on the total cost expectation value.
  • the first allocation changing unit 32a selects the total cost expected value (see FIG. 13) based on the user expected value, and the first allocation changing unit 32a further selects the cell boundary scan based on the total cost expected value. Place the cells in consideration of the pacing, and further arrange the wiring reservation area, terminal reservation area and distributed free space of each placement target L10, L20 in the common area W. Optimize L10 and L20.
  • the common area W4 is formed by the placement objects L7 and L8, for example, as shown in FIG.
  • the inner element based on the expected cost is arranged so that one of the sides R, S, T of the common area W4 is biased to one side, while the inner element of the placement object L8 is the side R of the common area W , Of the T and U, it is preferable to arrange so that the inner element of the arrangement object L7 is not biased.
  • the area of the placement object here, the placement objects L7 and L8 can be reduced by the shape change process by the shape changing unit 33 described later.
  • the second arrangement changing unit 32b uses the total area force of the arrangement target object forming the common area, and the area utilization factor of the internal elements in the dedicated area excluding the common area (hereinafter, The layout of the internal elements is determined by using at least one of the area used by the internal elements of the objects to be arranged in the common area (common area usage area; overlapping area usage area). To change.
  • the second arrangement changing unit 32b assigns an internal element outside the common area to the common area, that is, there is an empty area in the common area, and the user force S common area is set. This function works when it is determined that the user wants to use it more actively.
  • the first to third modes (Figs. 18 to Fig. To be described later) are based on instructions from the user via the input unit 5. (See 20).
  • the second arrangement changing unit 32b displays the current usage status (actual value) on the display unit 3 as shown in FIGS. 17 (a) and 17 (b), for example.
  • Fig. 17 (a) is a schematic diagram showing the placement objects Ll l and L21 forming the common area W5 at the present time, and Fig. 17 (b) shows the common area usage information of this common area W5. is there.
  • FIG. 17 (a) and FIG. 18 (a), FIG. 19 (a), and FIG. Indicates the dedicated area (hereinafter referred to as the dedicated area SL11), and the symbol “SL21” indicates that the arrangement object L21 is the exclusive area excluding the common area W5 from the arrangement object L21 (hereinafter, the dedicated area SL2). 1).
  • This common area usage information is the total area of the common area (denoted as “total area” in the figure) and common area W5.
  • FIGS. 17 (a) and 17 (b) show a case in which the user assigns an external internal element to the common area by the input unit 5 (that is, executes a layout change process by the second layout change unit 32b). Alternatively, it may be displayed on the display unit 3 by the display control unit 4.
  • the second arrangement changing unit 32b should eliminate the high first use area ratio (arrangement congestion degree) of any of the arrangement objects forming the common area.
  • the arrangement of the internal elements of the arrangement object having the highest first use area ratio among the arrangement objects forming the common area is changed so that the common area use area is maximized (that is, in the common area). Assign to).
  • the area of the dedicated area SL11 is “30000” and the first use area ratio of “90%”, and the area of the dedicated area SL21 The area is “32000” and the usage rate is "70%”.
  • the common area W5 area is "15000” and the arrangement object L11 is "1000” and the arrangement object L21 is Assume that “2000” and the unused area is “1200 0”.
  • the unused area “12000” of the common area W5 is 40% of the area “30000” of the dedicated area SL11 of the arrangement object L11 having the highest first use area ratio. 32b moves the internal elements of the placement object L11 up to 40% of the total area ("12 000" in area) to the common area W5.
  • the second arrangement changing unit 32b uses the first mode as an internal element of the arrangement object L11 having the highest first use area ratio as shown in FIGS. 18 (a) and 18 (b). W5 In order to maximize the area used by the mon area, the area is moved into the common area W5. As the value becomes "0", the first usage area ratio of SL11 becomes "50%"
  • the second arrangement changing unit 32b is a second mode that eliminates the high first usage area ratio (arrangement congestion degree) of any of the arrangement objects forming the common area. Assign the internal elements of the placement object with the highest first use area ratio to the common area so that all the placement objects that form the common area have the lowest first use area ratio in the initial state. In other words, when the first use area ratio of the plurality of arrangement objects forming the common area is equalized to high, low force, and low, the use configuration of the common area is determined by the parameters.
  • equalizing the first use area ratio of the plurality of objects to be arranged forming the common area by the second mode means that these objects to be arranged are! When the gap is crowded! It is effective to secure a reserved wiring area where power can be removed.
  • the area of the dedicated area SL11 of the placement object L11 is “30000” and the first use area ratio of “90%”, and the placement object Since the area of L21 is “3 2000” and the first used area ratio is “70%”, the first used area ratio of the dedicated area SL11 should be matched with the first used area ratio of the dedicated area SL21 (that is, SL11).
  • the arrangement changing unit 32b calculates an internal element corresponding to 20% of the dedicated area SL11 of the arrangement object L11, and sets the calculated internal element in the common area W5. Move.
  • the arrangement changing unit 32b uses the second mode to add internal elements corresponding to an area of “6000”, which is 20% of the total area of the arrangement object L11. Then, move from the dedicated area SL11 to the common area W5, and make the SL11 1st used area ratio and SL21 1st used area ratio both "70%".
  • the common area usage area is "9000", and the breakdown is that the usage area of the placement target L11 is "7000" and the usage area of the placement target L21 is "2000".
  • the unused area of W5 is "6000".
  • the second arrangement changing unit 32b may be any one of the arrangement objects forming the common area.
  • the third mode for maximizing the effective use of the common area while eliminating the high first use area ratio (the degree of placement congestion) of force all of the multiple placement objects that form the common area (1) Assign the internal elements of multiple objects to be placed in the common area so that the common area usage area is maximized while keeping the same usage area ratio.
  • the third arrangement changing unit 32c performs arrangement of the internal elements in the common area based on the connection relation of the internal elements. For example, the first arrangement changing unit 32a and the second arrangement changing unit 32b The arrangement of the internal elements in the common area is further changed with respect to the common area that has been subjected to the arrangement changing process.
  • the third arrangement changing unit 32c checks the connection relationship of the internal elements in the common area, and in order of the force having the largest connection ratio to the arrangement target object to which the internal element belongs, and the arrangement target of the common area. Relocate near the intersection of the straight line connecting the center (or center of gravity) of the object and the side of the common area that intersects this straight line.
  • connection relationship may be a logical netlist, or a connection relationship such as a mounting wiring relationship or a bus signal line of a floor plan.
  • the third arrangement changing unit 32c has a common area W6 formed by, for example, arrangement objects L12 and L22 as shown in FIG. 21, and further, in this common area W6 as shown in FIG. 22 (a). If there are multiple (four in this example) internal elements A to D of L 12 and four internal elements of L22, the third layout changing unit 32b maintains the connection relationship of these internal elements in database 2. Based on the obtained data (placement object information), the connection result (connection ratio) of each internal element (in this case, internal elements A to D) is displayed as screen 32 'as shown in Fig. 23 Displayed in Part 3. In FIG. 21, the symbol “CL12” indicates the center of the arrangement target L12, and the symbol “CL22” indicates the center of the arrangement target L22.
  • the third arrangement changing unit 32c changes the arrangement of the internal elements A to D based on the connection ratio of the internal elements A to D as shown in FIG. 22 (b).
  • the internal element C since the internal element C has the highest connection ratio with the arrangement object L12 to which it belongs (in this case, “100%”), this internal element C is connected to the center WC6 of the common area W6 and the arrangement object. Arrange it so that it touches the side S of the common area W6 on the straight line X connecting the center CL12 of L12.
  • connection ratio of the arrangement object L12 next to the internal element C is the internal elements A and B whose connection ratios are both "60%".
  • the third arrangement change is made.
  • the unit 32c determines the arrangement order based on the other connection ratios of the internal elements A and B.
  • connection ratio of the arrangement target L22 for the internal element A is "0%”
  • connection ratio of the arrangement target L22 for the internal element B is "10%”
  • the internal element A is the arrangement target Since the connection ratio to the object L2 2 is low and the other connection ratio is high, the third arrangement changing unit 32c arranges the internal element A next.
  • the symbol “Y” indicates a straight line connecting the center WC6 of the common area W6 and the center CL22 of the placement object L22.
  • the internal elements are gathered at a position closer to the arrangement target belonging to the common area, so that there is a compaction effect, and the central part of the common area is not used. Since it becomes an area, it can be used as another internal element or as a wiring reservation area.
  • the area of the arrangement target object (here, the arrangement target objects L12 and L22) can be reduced by the shape changing process by the shape changing unit 33 described later. It ’s like this.
  • the shape changing unit 33 changes the arrangement while using the common area by the arrangement changing unit 32 that eliminates the common area formed by the common area forming unit 12 of the temporary arrangement unit 10. Based on the arrangement of the processed internal elements, by re-determining the shape of each of the plurality of placement objects forming the common area, the shape of these placement objects is changed and optimized. It is. [0098]
  • the common area forming unit 12 changes the shape of the arrangement objects L13 and L23 shown in FIG. 24 (a) as shown in FIG. 24 (b) to form the common area W7.
  • the shape changing unit 33 changes the arrangement as shown in FIG. 24 (d). Based on the changed internal element, the shape of each of the placement objects L13 and L23 is changed.
  • the common area forming unit 12 changes the arrangement of the arrangement objects L14 and L24 shown in FIG. 25 (a) (here, the arrangement of the arrangement object L24) as shown in FIG. 25 (b). Therefore, when the common area W8 is formed and the arrangement changing unit 32 changes the arrangement of the internal elements of the arrangement objects L14 and L24 as shown in FIG. Based on the internal elements whose arrangement is changed as shown in FIG. 25 (d), the shapes of the arrangement objects L14 and L24 are changed.
  • the arrangement objects L14 and L24 are deformed into a non-rectangular shape in the initial state (see FIG. 25 (a)). As a result, these arrangement objects L14 and L24 are optimized so as to reduce the area.
  • step SI RTL (Register Transfer Level) design is performed (step SI), and the hardware description language (HDL: Hardware Description Language) is used.
  • the hardware description of the semiconductor integrated circuit is described in language, and then the hardware description language and target circuit performance (for example, timing and area) are input to automatically generate the desired logic circuit (logic synthesis; step S2) .
  • a netlist is created based on the logic circuit generated by the logic synthesis (step S2) (step S3), and the floorplan processing by the floorplan apparatus 1 is performed based on the created netlist and the like. Implemented (Step S4).
  • the process returns to the process of step S3 and a net list is created (step S3).
  • Step S4 if there is no change in the placement target due to the floor plan process (Step S4) (No route of Step S5), the temporary wiring length delay calculation of the semiconductor integrated circuit (Step S6) and the delay simulation After executing (Step S7), cell placement and wiring are performed (Step S8).
  • Step S8 When cell placement and wiring (Step S8) are completed, the final manufacturing data of the semiconductor integrated circuit is created after executing the actual wiring length delay calculation (Step S9) and delay simulation (Step S10). Then, the design process of the semiconductor integrated circuit is finished (step S11).
  • step S6 or step S9 the semiconductor integrated circuit is If the desired performance (timing, etc.) is not met, the design is changed again.
  • the floor plan process is interactively performed for the user using the display unit 3 and the input unit 5 according to the procedure shown in the flowchart (steps S20 to S40) shown in FIG.
  • this floor plan apparatus 1 first, the placement unit 11 of the temporary placement unit 10 selects a placement target object based on the placement target information held in the database 2. Then, the placement target is placed on the mounting area based on the net list (step S20). Next, the common area forming unit 12 of the temporary arrangement unit 10 changes the shape and Z or position of the arrangement object to form a common area (step S21).
  • the common area forming unit 12 acquires common area information about the formed common area (step S22) and displays it on the display unit 3 (see FIGS. 6 to 8 above; step S2 3). .
  • the determination unit 31 of the optimization unit 30 overlaps the internal elements of the arrangement target object forming the common area. Therefore, it is determined (that is, whether or not there is an overlap of internal elements) (step S 24).
  • the determination unit 31 determines that there is an overlap of internal elements (Yes route of step S24)
  • the determination unit 31 creates common area internal element error information and displays it on the display unit 3 ( See FIG. 15 above; step S25), and the arrangement changing unit 32 eliminates the overlap by changing the arrangement of at least one of the internal elements that overlap (step S26).
  • the optimization unit 30 acquires again the common area information of the common area in which the overlap of the internal elements has been eliminated (step S27), and displays this common area information on the display unit 3 (step S28). .
  • the user determines whether or not to change the arrangement of the internal elements of the arrangement object forming the common area while referring to the common area information displayed on the display unit 3, and Input is made via the input unit 5 (step S29).
  • the optimization unit 30 displays a message for confirming to the user whether or not to change the internal element as shown in FIG. 28 and a Yes button 51 and a No button 52 on the display unit 3.
  • the displayed display screen 50 is displayed, the user determines whether or not to execute the internal element layout change process based on the common area information, and responds with the Yes button 51 or No button 52 as a response to the mouse operation. And click.
  • step S30 the user inputs through the input unit 5 which of the first arrangement changing unit 32a, the second arrangement changing unit 32b, and the third arrangement changing unit 32c is to execute the arrangement changing process.
  • the arrangement changing unit 32 of the optimization unit 30 displays on the display unit 3 a selection screen 60 for selecting a method of arrangement changing processing as shown in FIG.
  • the selection screen 60 shown includes a description of three types of layout change processing methods, selection buttons 61 to 63 corresponding to these three types of layout change processing methods, and an OK button 64.
  • the user moves the pointer by operating the mouse, selects the button by clicking the mouse on the desired selection button 61-63, and then clicks the OK button 64, so that the corresponding button is selected.
  • the method of the arrangement changing process to be selected is selected.
  • the menu is changed.
  • the selection button 61 is selected by the user.
  • FIG. 29 shows a state where the selection button 61 is selected.
  • the internal elements are arranged based on at least one of the information on the first use area ratio and the common area use area of the arrangement object (that is, the arrangement changing process is performed by the second arrangement changing unit 32b).
  • the user selects the selection button 62.
  • the explanation for causing the second placement changing unit 32b to execute the placement changing process is "assigning an external internal element that should actively use the common area.”
  • the explanatory text “Yes” may be used, and other explanatory text is not limited to the example shown in FIG.
  • the user selects a selection button. 63 is selected.
  • step S30 when the user selects the selection button 61 (A / Rate in step S30), the expected logical value calculation unit 21 of the expected value calculation unit 20, the expected implementation cost calculation unit 22, and the total cost expectation
  • Each of the value calculation units 23 calculates the expected cost value and displays the result on the display unit 3 (step S31), and the user inputs the user expected value using a keyboard or the like (step S32). Then, the information on the expected cost value as shown in FIGS. 11A to 11E and FIGS. 14A to 14D is displayed on the display unit 3.
  • the first arrangement changing unit 32a performs the logical cost expected value, implementation based on the user expected value.
  • One cost expectation value is selected from the cost expectation value and the total cost expectation value (step S33), and based on this cost expectation value, the first placement changing unit 32a places the placement target forming the common area. Change the arrangement of the internal elements of the object (step S34).
  • step S30 the second arrangement changing unit 32b extracts the common area usage information (actual value) and extracts the above-described FIG. ), Displayed on the display unit 3 as shown in (b) (step S35).
  • step S36 the user selects how to change the arrangement of internal elements.
  • the user inputs from the input unit 5 which mode of the first to third modes is to be executed by the second arrangement changing unit 32b.
  • the second arrangement changing unit 32b displays a selection screen 70 for selecting an arrangement changing process mode on the display unit 3 as shown in FIG.
  • the selection screen 70 shown in FIG. 30 describes the three types of layout change processing modes (that is, the first to third modes), the selection buttons 71 to 73 corresponding to these three types of modes, and OK.
  • a button 74 force is also configured.
  • the user operates the mouse to move the pointer, click the mouse on the desired selection buttons 71 to 73, select the button, and then click the OK button 74.
  • the mode of the layout change process corresponding to the button is selected.
  • the selection button 71 is selected by the user.
  • FIG. 30 shows a state in which the selection button 71 is selected.
  • the selection button 72 is selected by the user.
  • the selection button 73 is selected by the user.
  • the second arrangement changing unit 32b changes the arrangement of the internal elements in the operation mode selected by the user in Step S36 (Step S37).
  • the second arrangement changing unit 32b displays one of the common area usage information shown in FIGS. 18 (a), (b) to 20 (a), (b) according to the operation mode. It is preferable to display in 3.
  • connection relation (connection ratio) of the elements is extracted based on the data held in the database 2 and displayed on the display unit 3 as shown in FIG. 23 (step S38).
  • the third arrangement changing unit 32c changes the arrangement of the internal elements in the common area based on the connection relation of the internal elements as described above with reference to FIGS. 22 (a) and 22 (b). (Step S39).
  • Step S34 After the above-described arrangement changing process by the first arrangement changing unit 32a (step S34), after the arrangement changing process by the second arrangement changing unit 32b (step S37), and by the third arrangement changing unit 32c In each of the steps after (Step S39), the processes of Steps S27 and S28 are executed again, and the process returns to Step S29.
  • step S29 when it is determined that the user does not change the arrangement of the internal elements (that is, when the user selects (clicks) the No button 52 on the display screen 50).
  • the shape changing unit 33 of the optimizing unit 30 cancels the common area based on the changed arrangement of the internal elements, and re-replaces the arrangement object that formed the common area.
  • step S30 the process proceeds to the process of step S30 until the user determines in step S29 that the arrangement of the internal elements is not changed. Execute element layout change processing.
  • the arrangement object forms a common area as described above with reference to FIGS. 24 (a) to (d) and FIGS. 25 (a) to (d).
  • the layout should be changed so that it is smaller than the original shape before it is changed. It is preferable that the shape of the object to be placed is determined.
  • the common area is formed by the common area forming unit 12 of the temporary arrangement unit 10, and the arrangement changing unit 32 of the optimization unit 30.
  • the arrangement of the internal elements of the arrangement target forming the common area is changed to optimize the arrangement target, so that the common area is shared by a plurality of arrangement objects.
  • the arrangement of the internal elements of the object to be arranged is redesigned.
  • the semiconductor integrated circuit can be reduced in size and dead space can be reduced.
  • this floorplanning device 1 has been designed so that the objects to be placed do not overlap each other using various non-rectangular arbitrary figures!
  • the optimization unit 30 generates an overlap (common area) between the objects, and the arrangement objects that form the common area use the common area in a friendly and active manner. Since the arrangement of the internal elements is changed, the above-described effects can be obtained.
  • the common area forming unit 12 forms the common area after arranging the arrangement part 11 so that the internal elements do not overlap on the mounting area, it is possible to form the common area reliably. it can.
  • the common area forming unit 12 makes it easy for the user to form a common area between desired arrangement objects.
  • the shape changing unit 33 of the optimization unit 30 changes the shape of the arrangement target object whose arrangement of the internal elements has been changed by the arrangement changing unit 32, the shape changing process can reduce the size of the arrangement target object. it can.
  • the determination unit 31 of the optimization unit 30 determines whether or not there is an overlap of internal elements in the common area. If the determination unit 31 determines that there is an overlap, the placement change unit 32 force S eliminates the overlap. The layout of internal elements is changed as much as possible to prevent design errors. be able to.
  • the first arrangement changing unit 32a of the arrangement changing unit 32 of the optimization unit 30 performs an internal element based on the logical cost expected value calculated by the logical cost expected value calculating unit 21 of the expected value calculating unit 20. Therefore, the arrangement of the internal elements of the arrangement object can be efficiently changed so that the connection relationship of the internal elements in each arrangement object is optimized. Further, the first arrangement changing unit 32a of the arrangement changing unit 32 of the optimization unit 30 arranges the internal elements based on the mounting cost expected value calculated by the mounting cost expected value calculating unit 22 of the expected value calculating unit 20. Therefore, the arrangement of the internal elements of the arrangement object can be efficiently changed so that the connection relationship with other arrangement objects is optimized.
  • the first arrangement changing unit 32a of the arrangement changing unit 32 of the optimization unit 30 uses the internal cost expected value calculated by the total cost expected value calculating unit 23 of the expected value calculating unit 20 as an internal element.
  • the efficiency of the arrangement of the internal elements of the arrangement object can be obtained so that the connection relation between the inside of the arrangement object and the connection relation with other arrangement objects can be obtained. Can be changed.
  • the first arrangement changing unit 32a of the arrangement changing unit 32 of the optimization unit 30 performs the arrangement changing process based on the user expected value input by the user via the input unit 5. Since the expected cost value to be used is automatically selected from the expected logical cost value, the expected mounting cost value, and the expected total cost value, the user can efficiently enter the desired value by simply entering the desired value. The arrangement of elements can be changed, and unused areas in the common area can be used effectively with an optimal floor plan (that is, based on an optimal cost expectation).
  • the first placement changing unit 32a displays the current actual value in the common area on the display unit 3 together with the expected cost values as shown in FIGS. Since the common area usage configuration information is displayed on the display unit 3, the user can adjust the adjustment of internal elements in the common area while referring to the information shown in FIG. 11 and FIG. , You can make an optimal floor plan.
  • the second arrangement changing unit 32b of the arrangement changing unit 32 of the optimization unit 30 obtains information on at least one of the first usage area ratio of the arrangement target and the common area usage area of the arrangement target.
  • the second arrangement changing unit 32b of the arrangement changing unit 32 of the optimization unit 30 obtains information on at least one of the first usage area ratio of the arrangement target and the common area usage area of the arrangement target.
  • the third arrangement changing unit 32c of the arrangement changing unit 32 of the optimization unit 30 performs the arrangement of the internal elements in the common area based on the connection relation of the internal elements, the third arrangement changing unit 32c. Since the further part 32c changes the position of the internal element having a higher connection ratio to the belonging object to which it belongs, the inner element has a compaction effect because it changes the position to a position closer to the center or the center of gravity of the belonging object.
  • the efficiency is improved by changing the arrangement of the internal elements forming the common area by the first arrangement changing section 32a, the second arrangement changing section 32b, and the third arrangement changing section 32c of the arrangement changing section 32. It is possible to reduce the design time by executing good floorplan processing and reduce the size of the semiconductor integrated circuit by effectively using the common area.
  • the display unit 3, the display control unit 4, and the input unit 5 are used to interact with the user while displaying various information on the display unit 3 as described above. Since the floor plan process is executed, efficiency and good division design are possible.
  • the arrangement changing unit 32 of the optimization unit 30 has been described with an example in which the first arrangement changing unit 32a to the third arrangement changing unit 32c are provided.
  • the method of the arrangement changing process by the first arrangement changing unit 32a to the third arrangement changing unit 32c is not limited to the above-described embodiment.
  • the processing by the first arrangement changing unit 32a may be executed by directly selecting either the logical cost expectation value, the implementation cost expectation value, or the total cost expectation value manually.
  • the arrangement changing process in the second arrangement changing unit 32b is based on these values by using at least the first used area ratio or the common area used area, which is not limited to the first to third modes described above. Then, change the layout!
  • a predetermined area for example, an area added to transform a non-rectangular arrangement target into a rectangle. It is possible to set the usage restrictions for each arrangement target in advance, and to set the arrangement objects and their proportions that can use the predetermined area in the common area.
  • Floor plan processing can be realized.
  • the present invention is not limited to this.
  • the common area forming portion 12 has the structure shown in FIG. If the common area W9 is formed as shown in Fig. 31 (b) by changing the shape and arrangement of the arrangement objects L15 and L25 shown in Fig. 31), the arrangement changing unit 32 (i.e., the first arrangement changing unit 32a to the first (3) Any of the arrangement changing section 32c) Force The internal elements shown in Fig. 31 (c) may be arranged so as to straddle the common area W9 and the dedicated areas of the respective arrangement objects L15 and L25. ,.
  • the shape changing unit 33 can change the shapes of the arrangement objects L15 and L25 as shown in FIG. 31 (d), and the same effects as those of the above-described embodiment can be obtained. .
  • arrangement change processing unit 32 function as a computer (CPU, information processing device) , Various terminals) may be realized by executing a predetermined application program (floor plan program).
  • These programs are, for example, flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DV).
  • D + R, DVD + RW, etc. are provided in a form recorded on a computer-readable recording medium.
  • the computer reads the floor plan program, transfers it to the internal storage device or the external storage device, and uses it.
  • the computer is a concept including hardware and an OS (operating system), and means hardware operating under the control of the OS.
  • OS operating system
  • the hardware itself corresponds to a computer.
  • the hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium.
  • the above-mentioned application program as the floor plan program is displayed on the computer as described above, the display control unit 4, the arrangement unit 11, the common area forming unit 12, the logical cost expected value calculating unit 21, and the mounting cost expected value calculating.
  • Some of the functions may be realized by the OS instead of the application program.
  • Various computer-readable media such as internal storage devices (memory such as RAM and ROM), external storage devices, and printed matter on which codes such as bar codes are printed can also be used.

Landscapes

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

Abstract

 本発明は、半導体集積回路のフロアプランを実施する際に、配置対象物の内部要素の配置や配線の自由度を確保するとともに、CADシステムの制約の増大を抑止しながら、半導体集積回路の小型化及びデッドスペースの低減を効率良く実現することができるようにするために、フロアプラン装置が、複数の配置対象ブロックのうちの少なくとも2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、複数の配置対象ブロックを実装領域上に仮配置する仮配置部(10)と、重複領域を形成する配置対象ブロックのうちの少なくとも1つの配置対象ブロックの内部要素を、当該重複領域を使用しながら配置変更することにより、当該配置対象ブロックを最適化する最適化部(30)とをそなえて構成する。

Description

明 細 書
フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコ ンピュータ読取可能な記録媒体
技術分野
[0001] 本発明は、半導体集積回路(例えば、 LSI : Large Scale Integrated circuit)のフロア プラン技術に関し、特に、基本論理回路からなる配置対象物の形状や大きさが分割 階層設計によって予め大まかに決定されている状況下で、配置対象物を半導体集 積回路の実装領域上に配置し、当該配置対象物における内部要素の位置決定を行 ない、当該配置対象物の形状、大きさ、配置位置を決定する技術に関する。
背景技術
[0002] 以下の説明にお 、て、配置対象物とは、フロアプランの対象となる半導体集積回路 の一部の機能を担う論理機能単位であり、例えば、配置,形状,大きさが変更可能な 、ユーザ論理回路 (例えば、サブチップ)、もしくは、このユーザ論理回路を実装階層 (実装領域)に分割した実装ブロック(例えば、 LSG (Layout Sub Group)ブロック)の ことをいう。
[0003] 具体的には、図 32に示すように、フロアプランの対象となる半導体集積回路 (Chip) 110力 外部入出力用領域(External I/O Area) 111と複数のサブチップ(Sub Chip) 112とから構成され、さらに、複数のサブチップ 112のそれぞれが、複数の内部要素 (素子;例えば、 RAM (Random Access Memory) , ROM (Read Only Memory) ,スタ ンダードセル (Standard Cell) )をそなえた実装ブロック 113を複数そなえて 、る場合 には、サブチップ 112もしくは実装ブロック 113が配置対象物となる。
[0004] したがって、図 33 (a)〜(c)に示すごとぐサブチップ 112レベルのフロアプランを実 施する場合には、実装ブロック 113が配置対象物となり(図 33 (b) , (c)参照)、半導 体集積回路 110レベルのフロアプランを実施する場合には、サブチップ 112が配置 対象物となる(図 33 (a) , (b)参照)。
従来、半導体集積回路(例えば、 LSI : Large Scale Integrated circuit)のフロアプラ ン装置において、例えば、図 34に示すごとぐ複数の配置対象物(配置対象ブロック ) 102〜105を半導体集積回路 100の配置領域へ配置するときは、配置対象物 102 〜105を矩形にして複数の配置対象物 102〜105同士の重なりが発生しないように していた。なお、図 34及び後述する図 35において矩形の塗り潰し領域は、各配置対 象物 102〜105における内部要素を示している。
[0005] しかしながら、配置対象物 102〜 105を矩形にした場合、配置対象物 102〜105 の内部要素(内部セル;例えば、 RAM : Random Access Memory, ROM : Read Only Memory,スタンダードセル)の配置や配線制約に起因して配置対象物 102〜 105の 面積が大きくなつてしまい、半導体集積回路 100全体の面積が増大してしまうととも に、半導体集積回路 100の規定サイクルタイム内へのタイミング収束が困難になって しまう (第 1の課題)。
[0006] また、配置対象物 102〜105を矩形にすると、特に配置対象物 102, 103に示すご とぐ内部要素の形状,大きさ及び数に起因して、配置対象物 102, 103内において 疎密の差が大きくなりデッドスペースが増えてしまう(第 2の課題)。
そこで、上記第 1, 2の課題を解消すベぐ図 35に示すごとぐ配置対象物 102'〜 105'を非矩形の多様な任意図形 (ここでは直角多角形)を使用して設計し、配置対 象物 102'〜 105'同士が重ならないように設計するフロアプラン装置がある。このフ ロアプラン装置によれば、図 35に示すごとぐ図 34に示す配置対象物 102〜105と 同一の内部要素をそなえた配置対象物 102'〜105'を配置しながら、半導体集積 回路 10(Τを半導体集積回路 100よりも小さくすることができ、その結果、上記第 1, 2 の課題を解決することができるのである。
[0007] また、近年の半導体集積回路の大規模ィ匕ゃ高密度化に伴って、設計の階層レイァ ゥト化の導入、あるいは、設計容易化、もしくは、半導体集積回路のダウンサイジング のために、矩形と非矩形の配置対象物が混在するように設計するフロアプラン装置も ある。このフロアプラン装置は、配置対象物の配置順序をタイミング規制や配線数等 の優先度で判断し、後から配置される配置対象物は先に配置された配置対象物を 避けて配置することで、配置対象物同士の重なりが発生しな 、ようになって!/、る。
[0008] なお、半導体集積回路のフロアプラン技術において、集積回路の設計期間の短縮 ィ匕を図るために、レイアウト面に発生した直角多角形領域を最少数の矩形領域に分 割する技術や (例えば、下記特許文献 1参照)、多角形のパターンを矩形に分割して 電子線描画を行なう電子線露光用マスクのマスク描画データを高精度に作成するた めの技術 (例えば、下記特許文献 2参照)が提案されている。
特許文献 1:特開 2000— 20566号公報
特許文献 2 :特開 2003— 45780号公報
発明の開示
発明が解決しょうとする課題
[0009] し力しながら、図 35を参照しながら上述した配置対象物 102'〜105'を非矩形に する技術では、配置対象物 102'〜 105'内の空き領域が少なくなるので配置や配線 の自由度がなくなってしまうとともに、多様な多角形を取り扱うことになるため、 CAD ( Computer Aided Design)システムの制約が多くなつてしまう(第 3の課題)。
また、上述した矩形と非矩形の配置対象物を使用する技術では、矩形の配置対象 物同士、もしくは、矩形と非矩形の配置対象物が隣接する場合には、上記第 1, 2の 課題が発生してしまい、非矩形の配置対象物同士が隣接する場合には、上記第 3の 課題が発生してしまう。
[0010] 本発明は、このような課題に鑑み創案されたもので、半導体集積回路のフロアブラ ンを実施する際に、配置対象物の内部要素の配置や配線の自由度を確保するととも に、 CADシステムの制約の増大を抑止しながら、半導体集積回路の小型化及びデ ッドスペースの低減を効率良く実現することができるようにすることを目的とする。 課題を解決するための手段
[0011] 上記の目的を達成するために、本発明のフロアプラン装置は、内部要素が配置さ れた複数の配置対象ブロックの実装領域上への配置処理を行なうものであって、前 記複数の配置対象ブロックのうちの少なくとも 2つの配置対象ブロックが互いに重なり 合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領域上 に仮配置する仮配置部と、前記重複領域を形成する配置対象ブロックのうちの少なく とも 1つの配置対象ブロックの前記内部要素を、当該重複領域を使用しながら配置変 更することにより、当該配置対象ブロックを最適化する最適化部とをそなえて構成さ れて 、ることを特徴として!/、る。 なお、前記仮配置部が、前記複数の配置対象ブロックを互いに重なり合わないように 前記実装領域上に配置する配置部と、この配置部によって配置された前記複数の配 置対象ブロックのうちの少なくとも 1つの配置対象ブロックの配置及び Zまたは形状を 変更することによって、前記重複領域を形成する重複領域形成部とをそなえて構成 されていることが好ましぐこのとき、前記重複領域形成部が、非矩形の配置対象プロ ックを矩形に変形することが好ま 、。
[0012] また、前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なく とも 1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置 が変更された当該配置対象ブロックの形状を変更することが好ましぐこのとき、前記 最適化部が、前記重複領域にお!、て当該重複領域を形成する複数の配置対象プロ ックの前記内部要素が互いに干渉して 、る力否かを判定し、干渉して 、ると判定した 場合には、互いに干渉する前記内部要素のうちの少なくとも 1つの内部要素の配置 を変更することにより、前記干渉を解消することが好ましい。
[0013] さらに、前記最適化部が、前記重複領域を形成する前記配置対象ブロックのそれ ぞれの、当該配置対象ブロックの全領域から前記重複領域を除!、た専用領域にお ける前記内部要素の使用面積率 (以下、第 1使用面積率という)と、前記重複領域に おける当該重複領域を形成する配置対象ブロックの前記内部要素の使用面積 (以 下、重複領域使用面積という)とのうちの少なくとも一方を用いて、前記内部要素の配 置を変更することが好ましぐこのとき、前記最適化部が、前記配置対象ブロックの前 記専用領域における前記内部要素を前記重複領域に移動することにより、前記内部 要素の配置を変更することが好まし 、。
[0014] なお、前記最適化部が、前記重複領域使用面積が最大となるように、前記重複領 域を形成する配置対象ブロックのうちの前記第 1使用面積率が最も高い配置対象ブ ロックの前記内部要素の配置を変更することが好ましい。
また、前記重複領域が 2つの配置対象ブロックによって形成されている場合、前記最 適化部力 前記 2つの配置対象ブロックのうちの前記第 1使用面積率が高い一の配 置対象ブロックの前記第 1使用面積率が、他の配置対象ブロックの前記第 1使用面 積率と同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更 することが好ましい。
[0015] さらに、前記最適化部が、前記重複領域を形成する配置対象ブロックのそれぞれ の前記第 1使用面積率を同一にしながら、前記第 2使用面積率が最大となるように、 前記配置対象ブロックの前記内部要素の配置を変更することが好ましい。
なお、前記最適化部が、前記内部要素の前記配置対象ブロック内における接続関 係に基づいて算出された論理コスト期待値に応じて前記内部要素の配置を変更する ことが好ましい。
[0016] また、前記最適化部が、前記内部要素の他の配置対象ブロックの内部要素との接 続関係に基づいて算出された実装コスト期待値に応じて前記内部要素の配置を変 更することが好ましい。
さらに、前記最適化部が、前記内部要素の前記配置対象ブロック内における接続関 係に基づいて算出された論理コスト期待値と前記内部要素の他の配置対象ブロック の内部要素との接続関係に基づいて算出された実装コスト期待値とに基づいて算出 された総合コスト期待値に応じて前記内部要素の配置を変更することが好ましい。
[0017] なお、前記最適化部が、前記重複領域における前記内部要素の配置を当該内部 要素の接続関係に基づ 、て行なうことが好ま 、。
また、前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データ に対する応答情報を入力する入力部とをさらにそなえ、前記最適化部が、前記入力 部によって入力された応答情報に基づいて各種設定を行なうことが好ましい。
[0018] また、上記目的を達成するために、本発明のフロアプランプログラムは、内部要素 が配置された複数の配置対象ブロックの実装領域上への配置処理を行なう機能をコ ンピュータに実現させるためのものであって、前記複数の配置対象ブロックのうちの 少なくとも 2つの配置対象ブロックが互いに重なり合って重複領域を形成するように、 前記複数の配置対象ブロックを前記実装領域上に仮配置する仮配置部、及び、前 記重複領域を形成する配置対象ブロックのうちの少なくとも 1つの配置対象ブロック の前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該配 置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを特 徴としている。 [0019] なお、前記仮配置部として前記コンピュータを機能させる際、前記複数の配置対象 ブロックを互いに重なり合わないように前記実装領域上に配置する配置部、及び、こ の配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも 1つの 配置対象ブロックの配置及び Zまたは形状を変更することによって、前記重複領域 を形成する重複領域形成部として、前記コンピュータを機能させることが好まし 、。
[0020] さらに、前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少な くとも 1つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配 置が変更された当該配置対象ブロックの形状を変更するように、前記コンピュータを 機能させることが好ましい。
また、上記目的を達成するために、本発明のコンピュータ読取可能な記録媒体は、 上述したフロアプランプログラムを記録したものである。
発明の効果
[0021] このように、本発明によれば、仮配置部が重複領域を形成し、最適化部がこの重複 領域を使用しながら、当該重複領域を形成する配置対象ブロックの内部要素の配置 を変更して、当該配置対象ブロックを最適化するので、重複領域を複数の配置対象 ブロックが共有するように配置対象ブロックの内部要素の配置を再度設計し直すこと になり、その結果、配置対象ブロックを小型化することができ、半導体集積回路の小 型化及びデッドスペースの低減を実現できるようになる。
[0022] しかも、本発明は配置対象ブロックの形状を複雑な多角形にして小型化するもので はないため、配置対象ブロックの内部要素の配置や配線の自由度を確保することが できるとともに、 CADシステムの制約の増大を抑止できる。
図面の簡単な説明
[0023] [図 1]本発明の一実施形態としてのフロアプラン装置の構成を示すブロック図である。
[図 2]本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成 部によるコモンエリアの形成について説明するための図であり、 (a)は仮配置部の配 置部によって配置された配置対象物を示す図であり、 (b)はコモンエリア形成部によ つて形状が変更された配置対象物を示す図であり、(c)はコモンエリア形成部によつ て形成されたコモンエリアを示す図である。 圆 3]本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成 部によるコモンエリアの形成について説明するための図であり、 (a)は仮配置部の配 置部によって配置された配置対象物を示す図であり、 (b)はコモンエリア形成部によ つて形状が変更された配置対象物を示す図であり、(c)はコモンエリア形成部によつ て形成されたコモンエリアを示す図である。
圆 4]本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成 部によるコモンエリアの形成について説明するための図であり、 (a)は仮配置部の配 置部によって配置された配置対象物を示す図であり、 (b)はコモンエリア形成部によ つて形成されたコモンエリアを示す図である。
圆 5]本発明の一実施形態としてのフロアプラン装置の仮配置部のコモンエリア形成 部によって形成されたコモンエリアにおける内部要素の重なりを説明するための図で ある。
圆 6]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置 部のコモンエリア形成部によって取得されるコモンエリア属性情報を示す図である。 圆 7]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置 部のコモンエリア形成部によって生成されるコモンエリア未使用領域利用可能情報を 示す図である。
圆 8]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、仮配置 部のコモンエリア形成部によって取得されるコモンエリア内部要素情報を示す図であ る。
圆 9]本発明の一実施形態としてのフロアプラン装置の期待値算出部が取得するコモ ンエリアの現在使用状況である実績値の内容を説明するための図である。
圆 10]本発明の一実施形態としてのフロアプラン装置の期待値算出部の論理コスト 期待値算出部によって算出される論理コスト期待値の内容を説明するための図であ る。
圆 11]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、実績 値及び期待値の一例を示す図であり、 (a)は期待値算出部が取得するコモンエリア の現在使用状況を示す図であり、 (b)はユーザが入力部によって入力するユーザ期 待値を示す図であり、 (c)は期待値算出部の論理コスト期待値算出部が算出する論 理コスト期待値を示す図であり、 (d)は期待値算出部の実装コスト期待値算出部が算 出する実装コスト期待値を示す図であり、 (e)は期待値算出部の総合コスト期待値算 出部が算出する総合コスト期待値を示す図である。
圆 12]本発明の一実施形態としてのフロアプラン装置の期待値算出部の実装コスト 期待値算出部によって算出される実装コスト期待値の内容を説明するための図であ る。
[図 13]本発明の一実施形態としてのフロアプラン装置の期待値算出部の総合コスト 期待値算出部によって算出される総合コスト期待値の内容を説明するための図であ る。
圆 14]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、期待 値算出部によって取得もしくは算出されるコモンエリア使用構成情報を示す図であり 、(a)は図 11 (a)に示す現在使用状況 (実績値)に対応するものであり、(b)は図 11 ( c)に示す論理コスト期待値に対応するものであり、(c)は図 11 (d)に示す実装コスト 期待値に対応するものであり、 (d)は図 11 (e)に示す総合コスト期待値に対応するも のである。
圆 15]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の判定部によって取得されるコモンエリア内部要素エラー情報を示す図である。 圆 16]本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第 1配置変更部によるコモンエリア内における内部要素の配置について説明するため の図である。
圆 17]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の配置変更部の第 2配置変更部によって取得されるコモンエリアの現在使用状 況を示す図であり、 (a)はコモンエリアを形成する配置対象物とこれら配置対象物を 内部要素とともに示す模式図であり、 (b)はコモンエリア使用情報を示す図である。 圆 18]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の配置変更部の第 2配置変更部が第 1モードで内部要素の配置を変更したとき のコモンエリアの状態を示す図であり、 (a)はコモンエリアを形成する配置対象物を内 部要素とともに示す模式図であり、 (b)はコモンエリア使用情報を示す図である。 圆 19]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の配置変更部の第 2配置変更部が第 2モードで内部要素の配置を変更したとき のコモンエリアの状態を示す図であり、 (a)はコモンエリアを形成する配置対象物を内 部要素とともに示す模式図であり、 (b)はコモンエリア使用情報を示す図である。
[図 20]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の配置変更部の第 2配置変更部が第 3モードで内部要素の配置を変更したとき のコモンエリアの状態を示す図であり、 (a)はコモンエリアを形成する配置対象物を内 部要素とともに示す模式図であり、 (b)はコモンエリア使用情報を示す図である。 圆 21]本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第 3配置変更部による内部要素の配置変更処理を説明するための図であり、コモンエリ ァを形成する配置対象物を示す図である。
[図 22]内部要素の配置変更処理を説明するための図であり、 (a)は内部要素の配置 変更処理前のコモンエリアを示す図であり、 (b)は内部要素の配置変更処理後のコ モンエリアを示す図である。
圆 23]本発明の一実施形態としてのフロアプラン装置の表示部に表示される、最適 化部の配置変更部の第 3配置変更部によって取得されるコモンエリアを形成する配 置対象物の内部要素の接続関係を示す図である。
圆 24]本発明の一実施形態としてのフロアプラン装置の最適化部の形状変更部によ る配置対象物の形状変更処理を説明するための図であり、 (a)はコモンエリア形成前 の配置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変 更処理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置 対象物を示す図であり、 (d)は形状変更処理後の配置対象物を示す図である。 圆 25]本発明の一実施形態としてのフロアプラン装置の最適化部の形状変更部によ る配置対象物の形状変更処理を説明するための図であり、 (a)はコモンエリア形成前 の配置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変 更処理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置 対象物を示す図であり、 (d)は形状変更処理後の配置対象物を示す図である。 [図 26]本発明の一実施形態としてのフロアプラン装置によるフロアプラン処理が適用 される半導体集積回路の設計手順を示すフローチャートである。
圆 27]本発明の一実施形態としてのフロアプラン装置の動作手順を示すフローチヤ ートである。
[図 28]本発明の一実施形態としてのフロアプラン装置の最適化部によって表示部に 表示される、配置対象物の内部要素を変更するか否かをユーザに確認するための 表示画面の一例を示す図である。
圆 29]本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部によ つて表示部に表示される、配置対象物の内部要素の配置変更処理の方法を選択す るための選択画面の一例を示す図である。
圆 30]本発明の一実施形態としてのフロアプラン装置の最適化部の配置変更部の第 2配置変更部によって表示部に表示される、配置変更処理のモードを選択するため の選択画面の一例を示す図である。
圆 31]本発明の変形例としてのフロアプラン装置の最適化部の配置変更部による内 部要素の配置変更処理を説明するための図であり、 (a)はコモンエリア形成前の配 置対象物を示す図であり、(b)はコモンエリア形成後、且つ、内部要素の配置変更処 理前の配置対象物を示す図であり、(c)は内部要素の配置変更処理後の配置対象 物を示す図であり、 (d)は形状変更処理後の配置対象物を示す図である。
圆 32]本発明のフロアプラン装置の対象となる半導体集積回路の一例を示す模式図 である。
[図 33]本発明のフロアプラン装置によるフロアプラン処理における配置対象物を説明 するための図であり、 (a)は図 32に示す半導体集積回路を簡略ィ匕して示す図であり 、 (b)は(a)に示す半導体集積回路における一のサブチップを示す図であり、(c)は( b)に示すサブチップにおける一の実装ブロックを示す図である。
圆 34]従来のフロアプラン装置によってフロアプラン処理を施された半導体集積回路 の一例を示す図である。
圆 35]従来のフロアプラン装置によってフロアプラン処理を施された半導体集積回路 の一例を示す図である。 符号の説明
1 フロアプラン装置
2 データベース
3 表示部
4 表示制御部
5 入力部
10 仮配置部
11 配置部
12 コモンエリア形成部 (重複領域形成部)
20 期待値算出部
21 論理コスト期待値算出部
22 実装コスト期待値算出部
23 総合コスト期待値算出部
30 最適化部
31 判定部
32 配置変更部
32a 第 1配置変更部
32b 第 2配置変更部
32c 第 3配置変更部
33 形状変更部
100, 100', 110 半導体集積回路
102〜105, 102'~105', L1~L8, L10~L15, L20~L25 配置対象物(配 置対象ブロック)
111 外部入出力用領域
112 サブチップ
113 実装ブロック
SL11, SL21 専用領域
W, W1〜W9 コモンエリア(重複領域) 発明を実施するための最良の形態
[0025] 以下、図面を参照して本発明の実施の形態について説明する。
〔1〕本発明の一実施形態について
本発明の一実施形態としてのフロアプラン装置について説明すると、図 1は本発明 の一実施形態としてのフロアプラン装置の構成を示すブロック図である。この図 1に示 すように、本フロアプラン装置 1は、データベース 2,表示部 3,表示制御部 4,入力部 5,仮配置部 10,期待値算出部 20,及び最適化部 30をそなえて構成されている。
[0026] なお、ここでは、本フロアプラン装置 1が、上述した図 32,図 33 (a)〜(c)に示す、 サブチップ 112レベルのフロアプランを実施する場合を例にあげて説明する。
データベース 2は、分割階層設計によって設計された配置対象物に関するデータ( 配置対象物情報)やフロアプラン対象としている半導体集積回路のネットリスト等を保 持するものである。
[0027] なお、データベース 2が保持する配置対象物情報やネットリストは、半導体集積回 路の設計手順において本フロアプラン装置 1によるフロアプラン処理よりも前段で実 施される RTL (Register Transfer Level)設計(後述する図 26のステップ SI参照)、及 び、論理合成 (後述する図 26のステップ S2参照)の結果に基づいて得られる。
ここで、配置対象物情報は、少なくとも設計対象の半導体集積回路における配置 対象物の寸法,形状,他の配置対象物等との接続関係に関する情報や、当該配置 対象物の内部要素に関する情報(内部要素の数量,種類,寸法,接続関係等)を含 んでいる。
[0028] 表示部 3は、仮配置部 10及び最適化部 30による配置対象物の配置処理にかかる 情報 (後述する図 6〜図 8,図 15,図 17 (a) , (b)〜図 20 (a) , (b)参照)や期待値算 出部 20によって算出された期待値 (後述する図 11 (a)〜 (e) ,図 14 (a)〜 (d)参照) 等を表示するものである。
表示制御部 4は、表示部 3の表示内容を制御するものである。
[0029] 入力部 5は、本フロアプラン装置 1のユーザ(以下、単にユーザという)が、フロアプ ランのための各種設定事項を入力するためのものである。例えば、ユーザが、この入 力部 5を用いて表示部 3上の表示データに対する応答情報 (各種設定事項)を入力 する。
この入力部 5には、インタフェースとして、例えばマウスやキーボードが用いられる。 仮配置部 10は、複数の配置対象物のうちの少なくとも 2つの配置対象物が互いに 重なり合ってコモンエリア (重複領域)を形成するように、複数の配置対象物を実装領 域上に仮配置するものであり、配置部 11及びコモンエリア形成部(重複領域形成部) 12をそなえて構成されている。
[0030] 配置部 11は、複数の配置対象物を、これらが互 、に重なり合わな 、ように実装領 域上に配置するものであり、データベース 2に保持された配置対象物情報やネットリ スト等に基づ ヽて配置対象物を作成し、作成した配置対象物の実装領域上への配 置を行なう。
コモンエリア形成部 12は、配置部 11によって配置された複数の配置対象物のうち の少なくとも 1つの配置対象物の配置及び Zまたは形状を変更することによって、コ モンエリアを形成するものである。
[0031] 例えば、図 2 (a)に示すごとぐ配置部 11によって、実装領域上に非矩形 (ここでは 直角多角形)の配置対象物 L 1と、矩形の配置対象物 L2とが互 、に重なり合わな 、 ように配置された場合には、コモンエリア形成部 12は、図 2 (b)に示すごとぐ斜線で 示す領域 Mlを加えて配置対象物 L1の形状を非矩形から矩形に変更することによつ て、図 2 (c)に示すごとぐ矩形に変形した配置対象物 L1と、配置対象物 L2とが互い に重なり合ったコモンエリア W1を形成する。
[0032] また、図 3 (a)に示すごとぐ配置部 11によって、 2つの非矩形 (ここでは直角多角形 )の配置対象物 L3, L4が互いに重なり合わないように配置された場合には、コモン エリア形成部 12は、図 3 (b)に示すごとぐ配置対象物 L3, L4のそれぞれに、斜線で 示す領域 M3, M4を加えて矩形に変形することによって、図 3 (c)に示すごとぐ矩形 に変形された配置対象物 L3, L4が互いに重なり合ったコモンエリア W2を形成する。
[0033] さらに、図 4 (a)に示すごとぐ配置部 11によって、 2つの矩形の配置対象物 L5, L6 が互いに重なり合わないように配置された場合には、コモンエリア作成部 12は、図 4 ( b)に示すごとぐ配置対象物 L5, L6の少なくなくともいずれか一方の配置を変更す ることによって、配置対象物 L5, L6が互いに重なり合ったコモンエリア W3を形成す る。
[0034] なお、図 5に示すごとぐコモンエリア形成部 12によって形成されたコモンエリア W3
(図 4 (a) , (b)参照)には、複数の配置対象物 L5, L6の内部要素が混在する場合が ある。
ところで、コモンエリア形成部 12は、入力部 5によって入力されるユーザの指示に基 づいてコモンエリアの形成を行なってもよいし、自動的にコモンエリアの形成を行なつ てもよい。
[0035] コモンエリア形成部 12がユーザの指示に基づいてコモンエリアを形成する場合に は、配置部 11による配置対象物の配置結果を表示部 3に表示させる(例えば、図 33 (b)参照)。そして、ユーザが、表示部 3に表示された各配置対象物の配置対象物情 報 (例えば、空き面積や接続関係)に基づいてコモンエリアを形成する複数の配置対 象物(すなわち、配置対象物の組)を決定し、マウスを操作して (例えば、マウスを移 動して表示部 3に表示された配置対象物の中の所望の配置対象物上にポインタを移 動し、マウスをクリックすることによって)、これらの配置対象物をコモンエリアを形成す る配置対象物として選択する。
[0036] 次いで、コモンエリア形成部 12は、ユーザによって選択された配置対象物の組のう ちの少なくとも一つの配置対象物が非矩形であった場合には、上述した図 2 (a)〜 (c )もしくは図 3 (a)〜(c)に示すごとぐこの配置対象物を矩形に変形することによって コモンエリアを形成する。
また、ユーザによって選択された配置対象物の組のすべてが矩形であった場合に は、上述した図 4 (a) , (b)に示すごとぐコモンエリア形成部 12は、これら複数の配置 対象物のうちの少なくとも一つの配置対象物の配置を変更することによってコモンェ リアを形成する。
[0037] このとき、コモンエリア形成部 12による配置対象物の移動は、ユーザによって選択 された複数の配置対象物の空き面積 (すなわち、配置対象物内の内部要素が配置さ れて ヽな 、面積)に基づ 、て行なわれる。
つまり、コモンエリア形成部 12は、コモンエリアを形成する複数の配置対象物の空 き面積に基づいて当該コモンエリアの面積を決定し、その面積になるように配置対象 物の配置を変更するように構成されており、例えば、データベース 2が、コモンエリア を形成する配置対象物の空き面積とコモンエリアの面積との対応を示すテーブルを 保持しており、コモンエリア形成部 12は、このテーブルに基づいてコモンエリアの面 積を決定し、コモンエリアが力かる面積になるように配置対象物の配置を変更する。
[0038] なお、ユーザによって選択された配置対象物が非矩形であった場合でも、コモンェ リア形成部 12が配置対象物の配置を変更することによってコモンエリアを形成しても よぐこの場合もコモンエリア形成部 12は、上述したように配置対象物の空き面積に 基づ 、て配置対象物の配置変更を行なう。
また、コモンエリア形成部 12が自動的にコモンエリアを形成する場合には、コモン エリア形成部 12は、例えば、データベース 2に保持された配置対象物情報 (空き面 積,空き面積率,接続関係等)に基づいて、コモンエリアを形成する複数の配置対象 物(配置対象物の組)を選択する。この場合にも、表示部 3に配置部 11による配置対 象物の配置結果が表示されることが好ま 、。
[0039] なお、コモンエリア形成部 12による配置対象物の組の選択方法としては、例えば、 空き面積もしくは空き面積率が予め設定された閾値以上である配置対象物を選択し たり、あるいは、接続関係の大きい複数の配置対象物を選択したり、もしくは、これら を組み合わせて選択したりすることが好ま 、。
そして、コモンエリア形成部 12は、選択した配置対象物の組のうちの少なくとも一つ の配置対象物が非矩形であれば、上述した図 2 (a)〜(c)もしくは図 3 (a)〜(c)に示 すごとぐ当該配置対象物を矩形に変形することによってコモンエリアを形成する。
[0040] また、コモンエリア形成部 12は、選択した配置対象物の組のすべての配置対象物 が矩形であれば、上述した図 4 (a) , (b)に示すごとぐ少なくとも一つの配置対象物 の配置を変更することによってコモンエリアを形成する。
なお、このとき、コモンエリア形成部 12は、上述したユーザによってコモンエリアを 形成する配置対象物が選択された場合と同様に、配置対象物の空き面積に基づい て配置対象物の配置変更を行なう。
[0041] そして、コモンエリア形成部 12は、形成したコモンエリアに関するコモンエリア情報 を取得してデータベース 2に保持させる。 このコモンエリア情報は、例えば、コモンエリア属性情報 (後述する図 6参照)、コモ ンエリア未使用領域利用可能情報 (後述する図 7参照)、及びコモンエリア内部要素 情報 (後述する図 8参照)を含んで 、る。
[0042] コモンエリア形成部 12は、形成したコモンエリアそれぞれに関して、図 6に示すよう なコモンエリア属性情報を取得し、表示制御部 4はこのコモンエリア属性情報を図 6 に示すごとく画面 12aとして表示部 3に表示させる。
つまり、コモンエリア形成部 12は、コモンエリア属性情報として、コモンエリアの識別 名(ここでは「W」),頂点の座標,コモンエリアを構成する配置対象物名(図 6中"構 成"と表記;ここでは「L10, L20J ) ,コモンエリアの全面積(ここでは" 15000") ,コモ ンエリア W内のすべての内部要素が占める占有面積及び占有面積率,各配置対象 物 L10, L20の内部要素が占める占有面積(図 6中" L10占有面積", "L20占有面 積"と表記)及び占有面積率(図 6中" L10占有面積率", "L20占有面積率"と表記) ,コモンエリア Wにお 、て内部要素が配置されて 、な 、未使用面積及び未使用面積 率を取得する。
[0043] また、コモンエリア形成部 12は、コモンエリア情報として、コモンエリアの未使用領 域における内部要素の配置可能面積と縦横それぞれの配線可能チャネル数とを、 予め設定された内部要素と配線との使用比に応じて予測したコモンエリア未使用領 域利用可能情報を生成する。
このコモンエリア未使用領域利用可能情報は、表示制御部 4によって図 7に示すご とく画面 12bとして表示部 3に表示される。なお、図 7に示す例では、コモンエリア未 使用領域における内部要素の配置と配線との使用比が" 1 : 0", "0 : 1", "1 : 1"の場 合について生成されたコモンエリア未使用領域利用可能情報である。
[0044] なお、図 7では、 "1 : 0"の場合 (配置のみに使用する場合)、内部要素の配置可能 面積は" 12000"となり、 "0 : 1"の場合 (配線のみに使用する場合)、配線可能チヤネ ル数は縦方向に 280本で横方向に 300本となり、 "1: 1"の場合 (配置と配線とで半々 に使用する場合)、内部要素の配置可能面積は" 6000"となり配線可能チャネル数 は縦方向に 140本で横方向に 150本となることが示されて!/、る。
[0045] さらに、コモンエリア形成部 12は、コモンエリア情報として、コモンエリア内の内部要 素に関するコモンエリア内部要素情報を取得する。このコモンエリア内部要素情報は
、例えば、図 8に示すごとぐコモンエリア内の内部要素それぞれの識別名,位置座 標(図 8中"座標"と表記),面積,所属配置対象物名を含んでおり、このコモンエリア 内部要素情報はコモンエリアの初期状態を表わしている。
[0046] なお、このコモンエリア内部要素情報は、表示制御部 4によって図 8に示すごとく画 面 12cとして表示部 3に表示される。ここで、図 8に示す画面 12cにおいて、各内部要 素の位置座標は、当該内部要素の左下の頂点と右上の頂点との 2点の座標で表さ れている。
このように、コモンエリア形成部 12が取得する、図 6〜図 8に示すコモンエリア情報( コモンエリア属性情報,コモンエリア未使用領域利用可能情報,及びコモンエリア内 部要素情報)は、ユーザが後述する最適化部 30による最適化処理に必要な各種設 定事項を決定するために表示部 3に表示されるのである。
[0047] 換言すると、ユーザは、図 6〜図 8に示すごとく表示部 3に表示されたコモンエリア 情報を参照し、これらの内容を考慮して、後述する最適化部 30による最適化処理を どのように実行するか (後述するユーザ期待値や配置変更処理モード)を決定する。 期待値算出部 20は、様々なコスト情報力 現在の実績値を最適化した種々のコス ト期待値 (論理情報や実装情報等のパラメータを使用してコスト計算したコモンエリア の使用期待値)をコモンエリア最適化情報として算出するものであり、図 1に示すごと ぐ論理コスト期待値算出部 21,実装コスト期待値算出部 22,及び総合コスト期待値 算出部 23をそなえて構成されている。
[0048] 論理コスト期待値算出部 21は、コモンエリアを形成する複数の配置対象物のそれ ぞれにおいて、各配置対象物内における内部要素の接続関係が最適になる場合の 配置に基づぐコモンエリアにおける各配置対象物の内部要素の使用面積を、論理 コスト期待値として算出する。
つまり、論理コスト期待値算出部 21は、内部要素の配置対象物内における接続関 係に基づいて論理コスト期待値を算出するものであり、内部要素の面積に対して、セ ル境界スペーシング面積を考慮して論理コスト期待値を算出する。
[0049] 例えば、コモンエリア Wにおける現在の使用状況 (実績値)が図 9に示すごとくあら わされる場合、つまり、コモンエリア Wにおいて配置対象物 L10の内部要素の総面積 力 1400"であり、配置対象物 L20の内部要素の総面積が" 1200"であり、空き領域 が" 12400"である場合には、論理コスト期待値算出部 21は、図 10に示すごとぐ配 置対象物 L10の初期状態である内部要素の総面積に、セル境界スペーシング面積 をカロえた値 (ここでは、 "3500")、並びに、配置対象物 L20の初期状態である内部 要素の総面積に、セル境界スペーシング面積を加えた値 (ここでは、 "4000")、及び 、その他の空き領域 (ここでは" 7500")を、論理コスト期待値として算出する。
[0050] ここで、セル境界スペーシング面積とは、各セルの境界外側に設ける配置'配線禁 止領域のことであり、この領域は、各セルの内部素子と外部の配線との干渉によりノィ ズゃショートが発生しないようにするために、セル境界の外側に予め確保されたスぺ 一シングのことをいう。
なお、期待値算出部 20によって算出されるコスト期待値 (コモンエリア最適化情報) は、例えば、図 l l (a)〜(c)に示すごとく棒グラフ 20aとして表示部 3に表示され、論 理コスト期待値算出部 21によって算出される論理コスト期待値は、図 11 (c)に示すご とく表示される。
[0051] また、図 9,図 10,図 11 (a)〜(e)、及び、後述する図 12,図 13は、上述した図 6〜 図 8に示すコモンエリア Wに対するコモンエリア最適化情報を示す図である。
この図 l l (a)〜(e)に示すように、本フロアプラン装置 1では、表示制御部 4が、コモ ンエリア最適化情報として、コモンエリアの現在の使用状況 (実績値;図 11 (a)参照) ,ユーザが入力部 5によって入力したユーザ期待値(図 11 (b)参照)、及び期待値算 出部 20によって算出された各種コスト期待値 (論理コスト期待値算出部 21によって 算出される論理コスト期待値;図 11 (c)参照,実装コスト期待値算出部 22によって算 出される実装コスト期待値;図 11 (d)参照,及び総合コスト期待値算出部 23によって 算出される総合コスト期待値;図 11 (e)参照)を棒グラフ 20aにして表示部 3に表示す る。
[0052] ここで、図 11 (a)に示す現在使用状況(実績値)は、現在のコモンエリア Wにおける 配置対象物 L10, L20の内部要素の使用状況であり、図 9に対応している。
さらに、図 11 (b)に示すユーザ期待値は、ユーザが図 6〜図 8に示すコモンエリア 情報を参照しながらユーザが入力部 5を用いて入力したユーザ所望の値 (コモンエリ ァ Wにおける各配置対象物 L10, L20の使用面積)であり、ここでは、配置対象物 L 10の内部要素による使用面積が" 7500"であり、配置対象物 L20の内部要素による 使用面積が "7400"であり、空き領域が " 100"である。
[0053] そして、論理コスト期待値算出部 21によって算出された論理コスト期待値は、図 11
(c)に示すごとく表示部 3に表示される。
実装コスト期待値算出部 22は、配置対象物の内部要素の他の配置対象物の内部 要素との接続関係 (つまり、他の配置対象物との接続関係)を考慮した最適な配置に なる場合の、コモンエリアにおける各配置対象物の内部要素の使用面積を、実装コ スト期待値として算出する。
[0054] つまり、実装コスト期待値算出部 22によって算出される実装コスト期待値は、配線 が通過する領域を予め確保する配線予約エリアや端子を割り付ける領域を予め確保 する端子予約エリアを考慮して算出され、コモンエリアを形成する複数の配置対象物 の内部要素の接続関係が最も良好になる場合のコモンエリアにおける各配置対象物 の内部要素の使用面積としてあらわされる。
[0055] 具体的には、論理コスト期待値算出部 21によって図 10に示すごとく論理コスト期待 値が算出された場合には、実装コスト期待値算出部 22は、図 12に示すごとぐ配置 対象物 L10の初期状態を示す内部要素の総面積とセル境界スペーシング面積 (す なわち配置対象物 L10の論理コスト期待値)に、配線予約エリア及び端子予約エリア をカロえた値 (ここでは、 "6000")、並びに、配置対象物 L20の初期状態を示す内部 要素の総面積とセル境界スペーシング面積 (すなわち論理コスト期待値)に、配線予 約エリア及び端子予約エリアを加えた値 (ここでは、 "6000")、及び、その他の空き 領域 (ここでは" 3000")を、実装コスト期待値として算出する。
[0056] なお、実装コスト期待値算出部 22によって算出された実装コスト期待値は、図 11 (d )に示すごとぐ表示部 3に表示される。
総合コスト期待値算出部 23は、論理コスト期待値算出部 21によって算出された論 理コスト期待値と実装コスト期待値算出部 22によって算出された実装コスト期待値と に基づいて、総合コスト期待値を算出するものであり、例えば、論理コスト期待値及び 実装コスト期待値の割合を用いて総合コスト期待値を算出する。
[0057] つまり、総合コスト期待値算出部 23は、下記式(1)によって配置対象物 L10の総合 コスト期待値を算出し、下記式 (2)によって配置対象物 L20の総合コストを算出する 配置対象物 L10の総合コスト期待値 = (配置対象物 L10の論理コスト期待値割合 +配置対象物 L10の実装コスト期待値割合) Z総合するコスト種類数 X (コモンエリ ァ面積一空き領域) · ' ·(1)
配置対象物 L20の総合コスト期待値 = (配置対象物 L20の論理コスト期待値割合 +配置対象物 L20の実装コスト期待値割合) Ζ総合するコスト種類数 Χ (コモンエリ ァ面積一空き領域) · · ·(¾
なお、上記式(1) , (2)において、空き領域は予め設定されたデフォルトの値である
[0058] 具体的には、論理コスト期待値算出部 21によって図 10に示すごとく論理コスト期待 値が算出され、実装コスト期待値 22によって図 12に示すごとく実装コスト期待値が算 出された場合には、総合コスト期待値算出部 23は、下記式(Γ)によって配置対象物
L10の総合コスト期待値を算出する。
配置対象物 L10の総合コス卜期待値 = (3500/7500 + 6000/12000) /2 X (
15000- 750) · · · (1')
また、この場合、総合コスト期待値算出部 23は、下記式 (2Ίによって配置対象物 L
20の総合コスト期待値を算出する。
[0059] 配置対象物 L20の総合コスト期待値 = (4000/7500 + 6000/12000) /2 X (
15000- 750) · · · (2')
したがって、図 13に示すごとぐ総合コスト期待値算出部 23によって算出される配 置対象物 L10の総合コスト期待値は、 "配置対象物 L10の内部要素の総面積 +セル 境界スペーシング面積 +配線予約エリア +端子予約エリア +分配される空き領域"と なり、値は" 6910"となる。
[0060] また、配置対象物 L20の総合コスト期待値は、 "配置対象物 L20の内部要素の総 面積 +セル境界スペーシング面積 +配線予約エリア +端子予約エリア +分配される 空き領域"となり、値は" 7340"となる。
なお、空き領域は、予め設定された値(ここでは、 "750")となる力 ここでは、コモン エリアの全面積の 5%が空き領域となるように予め設定されて!、る。
[0061] また、総合コスト期待値算出部 23によって算出された総合コスト期待値は、図 11 (e )に示すごとぐ表示部 3に表示される。
ところで、本フロアプラン装置 1では、図 11 (a)〜(e)に示すコモンエリア最適化情 報を表示部 3に表示させる際に、このコモンエリア最適化情報とともに、図 14 (a)〜(d )に示すコモンエリア内の配置対象物別の使用構成を示す情報 (コモンエリア使用構 成情報)を画面 20bとして表示部 3に表示する。
[0062] 図 14 (a)に示すコモンエリア使用構成情報は、図 11 (a)に示す現在使用状況 (実 績値)に対応するものであり、コモンエリア Wにおける配置対象物 LIO, L20の初期 状態の内部要素の内容を示している。また、このコモンエリア使用構成情報は重複領 域形成部 12によって取得される。
具体的には、コモンエリア Wにおける配置対象物 L10の使用面積(内部要素の総 面積) "1400"の内訳力 セル配置が" 800"であり、配線予約エリアが" 500"であり、 その他が" 100"であることを示すとともに、コモンエリア Wにおける配置対象物 L20の 使用面積(内部要素の総面積) "1200"の内訳が、セル配置が" 700"であり、配線予 約エリアが" 400"であり、その他が" 100"であることを示している。
[0063] 図 14 (b)に示すコモンエリア使用構成情報は、図 11 (c)に示す論理コスト期待値 算出部 21によって算出された論理コスト期待値に対応するものであり、力かる論理コ スト期待値となる場合のコモンエリア Wにおける配置対象物 LIO, L20の内部要素の 内容を示している。このコモンエリア使用構成情報は、論理コスト期待値算出部 21に よって算出される。
[0064] 具体的には、コモンエリア Wにおける配置対象物 L10の使用面積" 3500"の内訳 力 セル配置が" 1400"であり、配線予約エリアが" 500"であり、セル境界スぺーシン グ面積が" 1400"であり、その他が" 200"であることを示すとともに、コモンエリア Wに おける配置対象物 L20の使用面積" 4000"の内訳力 セル配置が" 1700"であり、 配線予約エリアが" 400"であり、セル境界スペーシング面積が" 1700"であり、その 他が" 200"であることを示して!/、る。
[0065] 図 14 (c)に示すコモンエリア使用構成情報は、図 11 (d)に示す実装コスト期待値 算出部 22によって算出された実装コスト期待値に対応するものであり、力かる実装コ スト期待値となる場合のコモンエリア Wにおける配置対象物 LIO, L20の内部要素の 内容を示している。このコモンエリア使用構成情報は、実装コスト期待値算出部 22に よって算出される。
[0066] 具体的には、コモンエリア Wにおける配置対象物 L10の使用面積" 6000"の内訳 力 セル配置が" 1400"であり、配線予約エリアが" 2000"であり、セル境界スぺーシ ング面積が" 1400"であり、端子予約エリアが" 1000"であり、その他が" 200"である ことを示すとともに、コモンエリア Wにおける配置対象物 L20の使用面積" 6000"の 内訳が、セル配置が" 1700"であり、配線予約エリアが" 400"であり、セル境界スぺ 一シング面積が" 1700"であり、端子予約エリアが" 800"であり、その他が" 2000"で あることを示している。
[0067] 図 14 (d)に示すコモンエリア使用構成情報は、図 11 (e)に示す総合コスト期待値 算出部 23によって算出された総合コスト期待値に対応するものであり、力かる総合コ スト期待値となる場合のコモンエリア Wにおける配置対象物 LIO, L20の内部要素の 内容を示している。このコモンエリア使用構成情報は、総合コスト期待値算出部 23に よって算出される。
[0068] 具体的には、コモンエリア Wにおける配置対象物 L10の使用面積" 6910"の内訳 力 セル配置が" 1400"であり、配線予約エリアが" 2000"であり、セル境界スぺーシ ング面積が" 1400"であり、端子予約エリアが" 1000"であり、その他が" 1100"であ ることを示すとともに、コモンエリア Wにおける配置対象物 L20の使用面積" 7340"の 内訳が、セル配置が" 1400"であり、配線予約エリアが" 2000"であり、セル境界スぺ 一シング面積が" 1400"であり、端子予約エリアが" 1000"であり、その他が" 1540" であることを示している。
[0069] そして、ユーザは、表示部 3に表示されたコモンエリア最適化情報(図 11 (a)〜(e) 参照)及びコモンエリア使用構成情報(図 14 (a)〜(d)参照)を参照して、例えば、キ 一ボードを操作することによって入力部 5を介してユーザ期待値を入力し、最適化部 30が入力されたユーザ期待値に基づ 、て後述するように配置対象物の最適化処理 を実行する。
[0070] この最適化部 30は、コモンエリアを形成する配置対象物のうちの少なくとも 1つの配 置対象物の内部要素を、当該コモンエリアを使用しながら配置対象物内で配置変更 することにより、当該配置対象物を最適化するものであり、図 1に示すごとぐ判定部 3 1,配置変更部 32,及び形状変更部 33をそなえて構成されている。
判定部 31は、コモンエリアにおいて、当該コモンエリアを形成する複数の配置対象 物の内部要素が互いに干渉している力否力 (つまり、内部要素の重なりが存在するか 否力 を判定するものである。
[0071] つまり、上記図 5を参照しながら詳述した通り、コモンエリアには複数の配置対象物 の内部要素が混在する場合があるため、判定部 31は、コモンエリア形成部 12が生成 したコモンエリア内部要素情報(図 8参照)に基づいて、コモンエリアを形成する複数 の配置対象物の内部要素が互いに干渉して 、る力否かを判定する。
そして、判定部 31は、例えば、図 6〜図 8に示すコモンエリア Wに対して、コモンェ リア Wを形成する複数の配置対象物 LIO, L20の内部要素(ここでは" dvrl"ど'配線 予約エリア 1")が互いに干渉していると判定した場合には、図 15に示すごとぐ力か る干渉をユーザに通知するためのコモンエリア内部要素エラー情報を画面 31aとして 表示部 3に表示させる。
[0072] 配置変更部 32は、入力部 5を介して入力されるユーザの指示 (ここではユーザ期待 値;図 11 (b)参照)に基づいて、コモンエリアを形成する複数の配置対象物のうちの 少なくとも 1つの配置対象物の内部要素の配置を変更するものであり、内部要素の配 置を変更することによって当該配置対象物を最適化する。
また、配置変更部 32は、判定部 31によってコモンエリアを形成する複数の配置対 象物の内部要素が互いに干渉していると判定した場合には、当該干渉を解消すべく 、互いに干渉する内部要素のうちの少なくとも 1つの内部要素の配置を変更する。
[0073] この配置変更部 32は、第 1配置変更部 32a,第 2配置変更部 32b,第 3配置変更 部 32cをそなえて構成されて 、る。
第 1配置変更部 32aは、入力部 5によってユーザ力も入力されたユーザ期待値(図 11 (b)参照)に基づいて、期待値算出部 20によって算出された複数種類のコスト期 待値 (論理コスト期待値,実装コスト期待値,及び総合コスト期待値;図 11 (c)〜(e) 参照)の中力 一つのコスト期待値を選択し、選択したコスト期待値に基づいてコモン エリアを形成する配置対象物の内部要素の配置を変更する。
[0074] 具体的には、第 1配置変更部 32aは、下記式 (3)に示す期待値判定関数 fによって
、各コスト期待値 (論理コスト期待値,実装コスト期待値,及び総合コスト期待値)の中 から配置変更処理に採用する期待値を選択する。
期待値判定関数 f =min Iユーザ期待値 各コスト期待値 I · · · (3) したがって、第 1配置変更部 32aは、上記式(3)に基づいて、ユーザ期待値から各 コスト期待値を差し引いた値の絶対値が最も小さいコスト期待値を、配置変更処理に 採用するコスト期待値として選択する。
[0075] 例えば、図 11 (a)〜(e)に示す例では、第 1配置変更部 32aは、上記式(3)に基づ いて、総合コスト期待値 (図 11 (e)参照)を選択する。
そして、第 1配置変更部 32aは、この総合コスト期待値に基づいて、各配置対象物
L10, L20の属するセルに加えて、セル境界スペーシング、並びに、各配置対象物 L
10, L20の配線予約エリア,端子予約エリア及び分配される空き領域をコモンエリア
Wに配置する。
[0076] つまり、コモンエリア W形成時 (初期状態)の実績値では、上記図 9に示すごとぐコ モンエリア Wには、各配置対象物 L10, L20のセルが配置されているだけであつたが 、第 1配置変更部 32aがユーザ期待値に基づいて総合コスト期待値(図 13参照)を 選択し、さらに第 1配置変更部 32aが、この総合コスト期待値に基づいて、セル境界 スペーシングを考慮してセルを配置し、さらに、各配置対象物 L10, L20の配線予約 エリア,端子予約エリア及び分配される空き領域をコモンエリア Wに新たに配置する こと〖こよって、配置対象物 L10, L20を最適化する。
[0077] なお、第 1配置変更部 32aは、例えば図 16に示すごとぐ配置対象物 L7, L8によ つてコモンエリア W4が形成されている場合、配置対象物 L7の内部要素 (選択された コスト期待値に基づく内部要素)は、コモンエリア W4の辺 R, S, Tのうちのいずれ力 1 辺に偏るように配置する一方、配置対象物 L8の内部要素は、コモンエリア Wの辺 R, T, Uのうちの、配置対象物 L7の内部要素が偏っていない 1辺に偏るように配置する ことが好ましい。これによつて、後述する形状変更部 33による形状変更処理によって 、配置対象物(ここでは配置対象物 L7, L8)の面積を縮小することができるようになる
[0078] 第 2配置変更部 32bは、コモンエリアを形成する配置対象物のそれぞれの、当該配 置対象物の全領域力 コモンエリアを除いた専用領域における内部要素の使用面 積率 (以下、第 1使用面積率という)と、コモンエリアにおける当該コモンエリアを形成 する配置対象物の内部要素による使用面積 (コモンエリア使用面積;重複領域使用 面積)との少なくとも一方を用いて内部要素の配置を変更するものである。
[0079] 第 2配置変更部 32bは、本フロアプラン装置 1では、コモンエリア外にある内部要素 をコモンエリア内にアサインする場合、つまり、コモンエリアに空き領域があり、ユーザ 力 Sコモンエリアをより積極的に使用しようと判断した場合に機能し、本フロアプラン装 置 1では、入力部 5を介したユーザからの指示に基づいて、第 1〜第 3モード (後述す る図 18〜図 20参照)の 3つのモード(態様)の!、ずれかで動作する。
[0080] まず、第 2配置変更部 32bは、例えば、図 17 (a) , (b)に示すごとぐ現在の使用状 況 (実績値)を表示部 3に表示させる。図 17 (a)は、現時点でのコモンエリア W5を形 成する配置対象物 Ll l, L21を示す模式図であり、図 17 (b)はこのコモンエリア W5 のコモンエリア使用情報を示すものである。
なお、図 17 (a)及び後述する図 18 (a) ,図 19 (a) ,図 20 (a)において、符号" SL1 1"は、配置対象物 L11において、配置対象物 L11からコモンエリア W5を除いた専 用領域 (以下、専用領域 SL11という)を示し、符号" SL21"は、配置対象物 L21にお いて、配置対象物 L21からコモンエリア W5を除いた専用領域 (以下、専用領域 SL2 1という)を示している。
[0081] ここで、図 17 (b)に示すコモンエリア使用情報について説明すると、このコモンエリ ァ使用情報は、コモンエリアの全面積(図中"全面積"と表記),コモンエリア W5にお ける配置対象物 Ll l, L21の内部要素による使用面積 (コモンエリア使用面積;図中 "コモンエリア使用面積"と表記)とその内訳(図中" L11使用面積"及び" L21使用面 積"と表記),未使用面積,専用領域 SL11の全面積(図中" SL11全面積"と表記), 専用領域 SL11における内部要素の使用面積(図中" SL11使用面積"と表記),専 用領域 SL11の第 1使用面積率 (図中" SL11第 1使用面積率"と表記),専用領域 S L21の全面積(図中" SL21全面積"と表記),専用領域 SL21における内部要素の 使用面積(図中" SL21使用面積"と表記),及び専用領域 SL21の第 1使用面積率( 図中" SL21第 1使用面積率"と表記)からなる。
[0082] なお、後述する図 18 (b) ,図 19 (b) ,及び図 20 (b)に示すコモンエリア使用情報も 図 17 (b)に示すものと同種類の情報力 なる。
また、図 17 (a) , (b)は、ユーザが入力部 5によってコモンエリアに外部の内部要素 をアサインする(つまり、第 2配置変更部 32bによる配置変更処理を実行する)と設定 した場合に、表示制御部 4によって表示部 3に表示されてもよい。
[0083] そして、第 2配置変更部 32bは、コモンエリアを形成する配置対象物のうちのいず れカの第 1使用面積率 (配置混雑度)が高いことを解消すベぐ第 1モードとして、コ モンエリア使用面積が最大となるように、コモンエリアを形成する配置対象物のうちの 第 1使用面積率が最も高い配置対象物の内部要素の配置を変更する(つまり、コモ ンエリア内にアサインする)。
[0084] 具体的には、図 17 (a) , (b)に示すように、専用領域 SL11の面積が" 30000"で" 9 0%"の第 1使用面積率であり、専用領域 SL21の面積が" 32000"で" 70%"の使用 率であり、コモンエリア W5の面積" 15000"に対して配置対象物 L 11の使用面積が " 1000"であり、配置対象物 L21の使用面積が" 2000"であり、未使用面積が" 1200 0"であったとする。
[0085] このとき、コモンエリア W5の未使用面積" 12000"は、第 1使用面積率が最も高い 配置対象物 L11の専用領域 SL11の面積" 30000"の 40%にあたるので、第 2配置 変更部 32bは、配置対象物 L11の内部要素を全面積の最高 40%分 (面積では" 12 000")コモンエリア W5に移動させる。
なお、コモンエリア W5に移動する内部要素の合計面積がきつちり" 12000"になら ない場合があるため、ここでは最高 40% ("12000")としている。
[0086] したがって、第 2配置変更部 32bは、第 1モードによって、図 18 (a) , (b)に示すごと ぐ第 1使用面積率が最も高い配置対象物 L11の内部要素を、コモンエリア W5のコ モンエリア使用面積が最大となるように、コモンエリア W5内に移動させ、その結果、コ モンエリア W5における配置対象物 SL 11の使用面積は" 13000"になり、コモンエリ ァ W5の未使用面積が" 0"になるとともに、 SL11の第 1使用面積率が" 50%"になる
[0087] また、第 2配置変更部 32bは、コモンエリアを形成する配置対象物のうちのいずれ 力の第 1使用面積率 (配置混雑度)が高いことを解消すベぐ第 2モードとして、コモン エリアを形成する複数の配置対象物のすべてが、初期状態において最も低い第 1使 用面積率になるように、第 1使用面積率の高い配置対象物の内部要素をコモンエリ ァにアサインする。つまり、コモンエリアを形成する複数の配置対象物の第 1使用面 積率を、高 、方力 低 、方へ均等化すると 、うパラメータでコモンエリアの使用構成 を決定する。
[0088] なお、この第 2モードによってコモンエリアを形成する複数の配置対象物の第 1使用 面積率を均等にすることは、これら配置対象物の!、ずれかが混雑すると!、うことが解 消されるば力りでなぐ配線予約エリアの確保に有効である。
具体的には、図 17 (a) , (b)に示す場合には、配置対象物 L11の専用領域 SL11 の面積が" 30000"で" 90%"の第 1使用面積率であり、配置対象物 L21の面積が" 3 2000"で" 70%"の第 1使用面積率であるので、専用領域 SL11の第 1使用面積率を 専用領域 SL21の第 1使用面積率に合わせるべく(つまり、 SL11第 1使用面積率を" 70%"にすべく)、配置変更部 32bは、配置対象物 L11の専用領域 SL11の 20%に あたる内部要素を算出し、算出された内部要素をコモンエリア W5に移動させる。
[0089] つまり、図 19 (a) , (b)に示すごとぐ配置変更部 32bは、第 2モードによって、配置 対象物 L11の全面積の 20%の" 6000"の面積分の内部要素を、専用領域 SL11か らコモンエリア W5に移動して、 SL11第 1使用面積率及び SL21第 1使用面積率をと もに" 70%"にする。
なお、このとき、コモンエリア使用面積は" 9000"になり、その内訳は、配置対象物 L 11の使用面積が" 7000"で、配置対象物 L21の使用面積が" 2000"になり、コモン エリア W5の未使用面積は" 6000"になる。
[0090] さらに、第 2配置変更部 32bは、コモンエリアを形成する配置対象物のうちのいずれ 力の第 1使用面積率 (配置混雑度)が高いことを解消しながらコモンエリアを最大限 有効利用すベぐ第 3モードとして、コモンエリアを形成する複数の配置対象物のす ベての第 1使用面積率を同一にしながら、コモンエリア使用面積が最大となるように、 複数の配置対象物の内部要素をコモンエリア内にアサインする。
[0091] 具体的には、図 17 (a) , (b)に示す場合には、専用領域 SL11の第 1使用面積率と 、専用領域 SL21の第 1使用面積率とを同率にしながら、コモンエリア W5の未使用 面積を最小にする値を計算し、図 20 (a) , (b)に示すごとぐコモンエリア W5におけ る配置対象物 L 11の使用面積を" 9700"、配置対象物 L21の使用面積を" 5180"に して、専用領域 SL11及び SL21の第 1使用面積率を同一(ここでは、 "61%")にしな がら、未使用面積を" 120"にする。
[0092] 第 3配置変更部 32cは、コモンエリアにおける内部要素の配置を、当該内部要素の 接続関係に基づいて行なうものであり、例えば、第 1配置変更部 32a及び第 2配置変 更部 32bによって配置変更処理を施されたコモンエリアに対して、さらに当該コモン エリア内の内部要素の配置を変更する。
第 3配置変更部 32cは、まず、コモンエリア内の内部要素についてその接続関係を 調べ、当該内部要素の属する配置対象物への接続割合が最も大きいもの力も順に、 コモンエリアの中心と当該配置対象物の中心 (もしくは重心)とを結ぶ直線と、この直 線と交差するコモンエリアの辺との交点の近傍に配置変更する。
[0093] なお、この接続関係は、論理のネットリストでもよいし、実装の配線関係やフロアブラ ンのバス信号線のような接続関係でもよ 、。
具体的には、第 3配置変更部 32cは、例えば図 21に示すごとぐ配置対象物 L12, L22によってコモンエリア W6が形成され、さらに、図 22 (a)に示すごとぐこのコモン エリア W6に配置対象物 L 12の内部要素 A〜Dと L22の内部要素が複数(ここでは 4 つ)配置されていた場合、第 3配置変更部 32bは、これら内部要素の接続関係をデ ータベース 2に保持されたデータ (配置対象物情報)に基づいて調べ、その結果であ る各内部要素 (ここでは内部要素 A〜D)の接続関係 (接続割合)を図 23に示すごと く画面 32'として表示部 3に表示させる。なお、図 21において符号" CL12"は配置対 象物 L 12の中心を示し、符号" CL22"は配置対象物 L22の中心を示している。 [0094] 次に、第 3配置変更部 32cは、内部要素 A〜Dの接続割合に基づいてこれら内部 要素 A〜Dの配置を、図 22 (b)に示すごとく変更する。ここでは、内部要素 Cが、自 身が属する配置対象物 L12との接続割合が最も大きい(ここでは" 100%")ため、こ の内部要素 Cを、コモンエリア W6の中心 WC6と配置対象物 L12の中心 CL12とを 結ぶ直線 X上でコモンエリア W6の辺 Sに接するように配置する。
[0095] さらに、内部要素 Cの次に配置対象物 L12との接続割合が高いのは、接続割合が 共に" 60%"である内部要素 A, Bであるが、この場合、第 3配置変更部 32cは、これ ら内部要素 A, Bの他の接続割合に基づ 、て配置順序を決定する。
つまり、ここでは、内部要素 Aは配置対象物 L22の接続割合が" 0%"で、内部要素 Bは配置対象物 L22の接続割合が" 10%"であり、内部要素 Aの方が配置対象物 L2 2への接続割合が低ぐその他の接続割合が高いので、第 3配置変更部 32cは、内 部要素 Aを次に配置する。
[0096] その後、内部要素 B、内部要素 Dの順に配置することによって、図 22 (b)に示すご とぐコモンエリア W6内の内部要素の配置を変更する。
なお、図 22 (b)において、符号" Y"は、コモンエリア W6の中心 WC6と配置対象物 L22の中心 CL22とを結ぶ直線を示して!/、る。
このように、第 3配置変更部 32cによれば、内部要素がコモンエリア内で所属する配 置対象物により近い位置に集合するので、コンパクション効果があり、また、コモンェ リアの中心部分が未使用領域になるため、他の内部要素や配線予約エリアとして使う ことちでさる。
[0097] さらに、第 3配置変更部 32cによれば、後述する形状変更部 33による形状変更処 理によって、配置対象物(ここでは配置対象物 L 12, L22)の面積を縮小することが でさるよう〖こなる。
また、図 1に示すように、形状変更部 33は、仮配置部 10のコモンエリア形成部 12に よって形成されたコモンエリアを解消すベぐ配置変更部 32によってコモンエリアを 利用しながら配置変更処理を施された内部要素の配置に基づいて、当該コモンエリ ァを形成する複数の配置対象物のそれぞれの形状を再決定することによって、これ ら配置対象物の形状を変更して最適化するものである。 [0098] 例えば、図 24 (a)に示す配置対象物 L13, L23の形状を、図 24 (b)に示すごとぐ コモンエリア形成部 12が変更することによってコモンエリア W7を形成し、さらに、配 置変更部 32が、図 24 (c)に示すごとぐ配置対象物 L13の内部要素の配置を変更し た場合には、形状変更部 33は、図 24 (d)に示すごとぐ配置を変更された内部要素 に基づいて、各配置対象物 L13, L23の形状を変更する。
[0099] したがって、図 24 (a)〜(d)に示す例では、配置対象物 L13, L23はともに初期状 態(図 24 (a)参照)力も面積力 、さくなるように形状が変更されて最適化される。
また、例えば、図 25 (a)に示す配置対象物 L14, L24の配置(ここでは配置対象物 L24の配置)を、図 25 (b)に示すごとぐコモンエリア形成部 12が変更することによつ てコモンエリア W8を形成し、さらに、配置変更部 32が、図 25 (c)に示すごとぐ配置 対象物 L14, L24の内部要素の配置を変更した場合には、形状変更部 33は、図 25 (d)に示すごとぐ配置を変更された内部要素に基づいて、各配置対象物 L14, L24 の形状を変更する。
[0100] したがって、図 25 (a)〜(d)に示す例では、配置対象物 L14, L24は、初期状態( 図 25 (a)参照)では矩形であったものが非矩形に変形され、その結果、これら配置対 象物 L14, L24は面積が小さくなるように最適化される。
次に、本フロアプラン装置 1の動作手順について説明する。
まず、図 26に示すフローチャート (ステップ S1〜S11)を参照しながら、半導体集積 回路の設計手順における本フロアプラン装置 1によるフロアプラン処理の位置付けに ついて説明する。
[0101] 図 26に示すように、半導体集積回路の設計手順では、まず、 RTL (Register Transf er Level)設計を行ない(ステップ SI)、ハードウェア記述言語(HDL : Hardware Desc ription Language)を用いて半導体集積回路のハードウェアを言語記述し、次いで、 ハードウェア記述言語や目標とする回路性能 (例えば、タイミングや面積)を入力し、 所望の論理回路を自動生成する (論理合成;ステップ S 2)。
[0102] そして、論理合成 (ステップ S2)によって生成された論理回路に基づいてネットリスト を作成し (ステップ S3)、作成されたネットリスト等に基づいて、本フロアプラン装置 1 によるフロアプラン処理が実施される (ステップ S4)。 次いで、フロアプラン処理 (ステップ S4)によって配置対象物について変更が生じた 場合には (ステップ S5の Yesルート)、上記ステップ S3の処理に戻り、ネットリストを作 成する (ステップ S3)。
[0103] 一方、フロアプラン処理 (ステップ S4)によって配置対象物について何ら変更が生じ なかった場合には (ステップ S5の Noルート)、半導体集積回路の仮配線長遅延計算 (ステップ S6)及び遅延シミュレーション (ステップ S7)を実行した後、セルの配置や 配線を行なう(ステップ S8)。
さらに、セルの配置や配線 (ステップ S8)が完了すると、実配線長遅延計算 (ステツ プ S9)及び遅延シミュレーション (ステップ S 10)を実行した上で、半導体集積回路の 最終的な製造データを作成して (ステップ S11)、半導体集積回路の設計処理を終 了する。
[0104] なお、図 26には示していないが、半導体集積回路の設計では、通常、遅延計算( ステップ S6もしくはステップ S9)及び遅延シミュレーション (ステップ S7もしくはステツ プ S10)の結果、半導体集積回路が所望の性能 (タイミング等)を満たさな力つた場合 には、再度、設計変更が行なわれる。
そして、本フロアプラン装置 1では、図 27に示すフローチャート(ステップ S20〜S4 0)に示す手順で、表示部 3や入力部 5を用いてユーザに対して対話的にフロアブラ ン処理を実行する。
[0105] つまり、図 27に示すように、本フロアプラン装置 1では、まず、仮配置部 10の配置 部 11が、データベース 2に保持された配置対象物情報に基づ 、て配置対象物を作 成し、ネットリストに基づいて実装領域上に配置対象物を配置する (ステップ S20)。 次いで、仮配置部 10のコモンエリア形成部 12が、配置対象物の形状及び Zまたは 位置を変更することによって、コモンエリアを形成する(ステップ S21)。
[0106] さらに、コモンエリア形成部 12が、形成したコモンエリアについて、コモンエリア情報 を取得して (ステップ S 22)、表示部 3に表示させる(上記図 6〜図 8参照;ステップ S2 3)。
そして、最適化部 30の判定部 31が、コモンエリア形成部 12によって形成されたコ モンエリアにおいて、当該コモンエリアを形成する配置対象物の内部要素が重なり合 つて 、な 、か (つまり、内部要素の重なりが存在する力否かを)判定する (ステップ S 2 4)。
[0107] ここで、判定部 31が内部要素の重なりが存在すると判定した場合 (ステップ S24の Yesルート)、判定部 31は、コモンエリア内部要素エラー情報を作成し、表示部 3に 表示させ (上記図 15参照;ステップ S25)、配置変更部 32が重なり合う内部要素の少 なくとも一つの内部要素の配置を変更することによって、重なりを解消する (ステップ S 26)。
[0108] 次いで、最適化部 30が、内部要素の重なりを解消したコモンエリアのコモンエリア 情報を再度取得して (ステップ S27)、このコモンエリア情報を表示部 3に表示させる( ステップ S 28)。
一方、判定部 31が、内部要素の重なりが存在しないと判定した場合 (ステップ S24 の Noルート)、上述したステップ S25〜S28の処理をスキップする。
[0109] そして、ユーザが、表示部 3に表示されたコモンエリア情報を参照しながら、コモン エリアを形成する配置対象物の内部要素の配置を変更するか否かを決定し、その旨 を、入力部 5を介して入力する (ステップ S29)。具体的には、例えば、最適化部 30が 、表示部 3に図 28に示すような内部要素を変更するか否かをユーザに確認するため のメッセージと、 Yesボタン 51及び Noボタン 52が表示された表示画面 50を表示させ 、ユーザがコモンエリア情報に基づいて内部要素の配置変更処理を実行するか否か を判断して、その応答として Yesボタン 51もしくは Noボタン 52を、マウスを操作してク リックする。
[0110] ここで、ユーザが Yesボタン 51をクリックした場合(つまり、内部要素の配置変更を 行なう場合;ステップ S29の Yesルート)、ユーザは、続いて内部要素の配置変更処 理の方法を選択する (ステップ S 30)。
つまり、このステップ S30において、ユーザが、第 1配置変更部 32a,第 2配置変更 部 32b,第 3配置変更部 32cのうちのいずれに配置変更処理を実行させるかを入力 部 5によって入力する。
[0111] 具体的には、例えば、最適化部 30の配置変更部 32が、図 29に示すような、配置 変更処理の方法を選択するための選択画面 60を表示部 3に表示する。この図 29に 示す選択画面 60は、 3種類の配置変更処理の方法の説明と、これら 3種類の配置変 更処理の方法に対応した選択ボタン 61〜63、及び、 OKボタン 64から構成されてい る。
したがって、ユーザがマウスを操作してポインタを移動し、所望の選択ボタン 61〜6 3上でマウスをクリックしてボタンを選択した上で OKボタン 64をクリックすることにより、 選択されたボタンに対応する配置変更処理の方法が選択される。
[0112] ここでは、コスト期待値 (配置対象物ごとの使用面積)に基づいて配置を変更する場 合 (すなわち、第 1配置変更部 32aによって配置変更処理を実行する場合)には、ュ 一ザによって選択ボタン 61が選択される。
なお、図 29は、選択ボタン 61が選択された状態を示している。
また、配置対象物の第 1使用面積率及びコモンエリア使用面積の少なくとも 、ずれ か一方の情報に基づいて内部要素の配置を経こうする場合 (すなわち、第 2配置変 更部 32bによって配置変更処理を実行する場合)には、ユーザによって選択ボタン 6 2が選択される。
[0113] なお、第 2配置変更部 32bによって配置変更処理を実行させるための説明文として は、図 29に示す例以外に、 "コモンエリアを積極的に利用すベぐ外部の内部要素を アサインする"という説明文にしてもよぐまた、その他の説明文についても、図 29に 示す例に限定されるものではない。
さらに、現在のコモンエリア内の内部要素を当該内部要素の接続関係に基づいて 配置変更する場合 (すなわち、第 3配置変更部 32cによって配置変更処理を実行す る場合)には、ユーザによって選択ボタン 63が選択される。
[0114] そして、ユーザが選択ボタン 61を選択した場合 (ステップ S30の A/レート)、期待値 算出部 20の論理コスト期待値算出部 21,実装コスト期待値算出部 22,及び総合コ スト期待値算出部 23のそれぞれが、コスト期待値を算出して、その結果を表示部 3に 表示させる (ステップ S31)とともに、ユーザがキーボード等を用いてユーザ期待値を 入力することにより(ステップ S32)、表示部 3に上記図 11 (a)〜(e)及び図 14 (a)〜( d)に示すようなコスト期待値に関する情報が表示される。
[0115] そして、第 1配置変更部 32aが、ユーザ期待値に基づいて論理コスト期待値,実装 コスト期待値,及び総合コスト期待値の中から一のコスト期待値を選択し (ステップ S3 3)、このコスト期待値に基づいて、第 1配置変更部 32aが、コモンエリアを形成する配 置対象物の内部要素の配置を変更する (ステップ S34)。
一方、上記ステップ S30において、ユーザが選択ボタン 62を選択した場合 (ステツ プ S30の Bルート)、第 2配置変更部 32bが、コモンエリア使用情報 (実績値)を抽出 して上記図 17 (a) , (b)に示すように表示部 3に表示させる(ステップ S35)。
[0116] そして、ユーザ力このコモンエリア使用情報を参照して、どのように内部要素の配置 を変更するかを選択する (ステップ S36)。
つまり、このステップ S36において、ユーザが、第 2配置変更部 32bによって第 1〜 第 3モードのいずれのモードの処理を実行させるかを入力部 5によって入力する。 具体的には、例えば、第 2配置変更部 32bが、図 30に示すような、配置変更処理 のモードを選択するための選択画面 70を表示部 3に表示する。この図 30に示す選 択画面 70は、 3種類の配置変更処理のモード(つまり、第 1〜第 3モード)の説明と、 これら 3種類のモードに対応した選択ボタン 71〜73、及び、 OKボタン 74力も構成さ れている。
[0117] したがって、ユーザがマウスを操作してポインタを移動し、所望の選択ボタン 71〜7 3上でマウスをクリックしてボタンを選択した上で OKボタン 74をクリックすることにより、 選択されたボタンに対応する配置変更処理のモードが選択される。
ここでは、コモンエリア使用面積が最大になるように、第 1使用面積率が最も高い配 置対象物の内部要素の配置を変更する場合 (すなわち、第 1モードで配置変更処理 を実行する場合)には、ユーザによって選択ボタン 71が選択される。
[0118] なお、図 30は、選択ボタン 71が選択された状態を示している。
また、すべての配置対象物の第 1使用面積率が最も低い第 1使用面積率になるよう に内部要素の配置を変更する場合 (すなわち、第 2モードで配置変更処理を実行す る場合)には、ユーザによって選択ボタン 72が選択される。
さらに、すべての配置対象物の第 1使用面積率を同一にしながら、コモンエリア使 用面積が最大になるように内部要素の配置を変更する場合 (すなわち、第 3モードで 配置変更処理を実行する場合)には、ユーザによって選択ボタン 73が選択される。 [0119] そして、第 2配置変更部 32bが、上記ステップ S36においてユーザによって選択さ れた動作モードで、内部要素の配置を変更する (ステップ S37)。
なお、このとき、第 2配置変更部 32bが、動作モードに応じて上記図 18 (a) , (b)〜 図 20 (a) , (b)に示すいずれかのコモンエリア使用情報を表示部 3に表示させること が好ましい。
[0120] さらに、上記ステップ S30において、ユーザが選択ボタン 63を選択した場合 (ステツ プ S30の Cルート)、第 3配置変更部 32cが、コモンエリア内に存在する内部要素の それぞれについて、当該内部要素の接続関係 (接続割合)をデータベース 2に保持 されたデータに基づいて抽出し、上記図 23に示すように表示部 3に表示させる (ステ ップ S38)。
[0121] 次いで、第 3配置変更部 32cが、図 22 (a) , (b)を参照しながら上述したごとぐ内 部要素の接続関係に基づいて当該内部要素のコモンエリア内における配置を変更 する(ステップ S39)。
そして、上述した第 1配置変更部 32aによる配置変更処理 (ステップ S34)の後,第 2配置変更部 32bによる配置変更処理 (ステップ S37)の後,及び第 3配置変更部 32 cによる配置変更処理 (ステップ S39)後のそれぞれにおいて、上記ステップ S27, S2 8の処理を再度実行して、さらに、上記ステップ S29の処理に戻る。
[0122] そして、このステップ S29において、ユーザが内部要素の配置変更を行なわないと 判断した場合 (つまり、ユーザが表示画面 50にお 、て Noボタン 52を選択 (クリック)し た場合)には (ステップ S29の Noルート)、最適化部 30の形状変更部 33が、変更さ れた内部要素の配置に基づいて、コモンエリアを解消して、コモンエリアを形成して いた配置対象物を再形成し (ステップ S40)、処理を終了する。
[0123] つまり、本フロアプラン装置 1では、上記ステップ S29において、ユーザが内部要素 の配置変更を行なわな 、と判断するまでは、上記ステップ S30の処理に移行して、 配置変更部 32が内部要素の配置変更処理を実行する。
なお、上記ステップ S40における形状変更部 33による処理では、図 24 (a)〜(d)及 び図 25 (a)〜(d)を参照しながら上述したごとぐ配置対象物がコモンエリアを形成 すべく形状や配置が変更される前の元の形状よりも小さく変更されるように、当該配 置対象物の形状が決定されることが好ま 、。
[0124] このように、本発明の一実施形態としてのフロアプラン装置 1によれば、仮配置部 1 0のコモンエリア形成部 12によってコモンエリアが形成され、最適化部 30の配置変更 部 32が、コモンエリアを使用しながら、当該コモンエリアを形成する配置対象物の内 部要素の配置を変更して、当該配置対象物を最適化するため、コモンエリアを複数 の配置対象物が共有するように配置対象物の内部要素の配置を再度設計し直すこ とになり、その結果、半導体集積回路の小型化を実現でき、デッドスペースを低減で さるようになる。
[0125] し力も、配置対象物の形状を複雑な多角形にして面積を縮小するものではないた め、配置対象物の内部要素の配置や配線の自由度を確保することができるとともに、 CADシステムの制約の増大を抑止できる。
つまり、本フロアプラン装置 1は、従来は非矩形の多様な任意図形を使用して配置 対象物同士の重なりが発生しな 、ように設計されて!、たものを、逆に故意によって配 置対象物同士の重なり(コモンエリア)を発生させ、このコモンエリアを形成する配置 対象物同士が友好的且つ積極的にコモンエリアを利用するように、最適化部 30が、 これらの配置対象物の内部要素の配置を変更するため、上述した効果を得ることが できる。
[0126] また、配置部 11がー且実装領域上に内部要素が重なり合わないように配置した上 で、コモンエリア形成部 12がコモンエリアを形成するため、確実にコモンエリアを形成 することができる。
さらに、コモンエリア形成部 12によって、ユーザが所望の配置対象物同士でコモン エリアを形成させることが容易になる。
[0127] また、最適化部 30の形状変更部 33が、配置変更部 32によって内部要素の配置が 変更された配置対象物の形状を変更するため、この形状変更処理によって配置対象 物の小型化できる。
なお、最適化部 30の判定部 31がコモンエリアにおける内部要素の重なりの有無を 判定し、判定部 31によって重なりが存在すると判定された場合には、配置変更部 32 力 Sかかる重なりを解消すべく内部要素の配置を変更するため、設計ミスを確実に防ぐ ことができる。
[0128] また、最適化部 30の配置変更部 32の第 1配置変更部 32aが、期待値算出部 20の 論理コスト期待値算出部 21によって算出された論理コスト期待値に基づいて、内部 要素の配置を変更するため、配置対象物の内部要素の配置を、各配置対象物内に おける内部要素の接続関係が最適になるように、効率的に変更することができる。 さらに、最適化部 30の配置変更部 32の第 1配置変更部 32aが、期待値算出部 20 の実装コスト期待値算出部 22によって算出された実装コスト期待値に基づいて、内 部要素の配置を変更するため、配置対象物の内部要素の配置を、他の配置対象物 との接続関係が最適なるように、効率的に変更することができる。
[0129] なお、最適化部 30の配置変更部 32の第 1配置変更部 32aが、期待値算出部 20の 総合コスト期待値算出部 23によって算出された総合コスト期待値に基づいて、内部 要素の配置を変更するため、配置対象物の内部要素の配置を、当該配置対象物内 部の接続関係と他の配置対象物との接続関係とのノ《ランスを取ることができるように、 効率的に変更することができる。
[0130] また、最適化部 30の配置変更部 32の第 1配置変更部 32aは、入力部 5を介してュ 一ザによって入力されたユーザ期待値に基づいて、配置変更処理を行なうのに使用 するコスト期待値を、論理コスト期待値,実装コスト期待値,及び総合コスト期待値の 中から自動的に選択するため、ユーザは所望の値を入力するのみで効率的に配置 対象物の内部要素の配置を変更することができ、コモンエリアにおける未使用領域を 最適なフロアプランで (つまり、最適なコスト期待値に基づいて)有効利用することが できる。
[0131] また、このとき、第 1配置変更部 32aによって、上記図 11,図 14に示すごとぐ各コ スト期待値とともに、コモンエリアにおける現在の実績値が表示部 3に表示され、さら に、コモンエリア使用構成情報が表示部 3に表示されるので、ユーザは、図 11及び 図 14に示す情報を参照しながら、コモンエリアにおける内部要素の加減の調整をす ることができ、この結果、最適なフロアプランを行うことができる。
[0132] さらに、最適化部 30の配置変更部 32の第 2配置変更部 32bが、配置対象物の第 1 使用面積率と配置対象物のコモンエリア使用面積とのうちの少なくとも一方の情報を 用いて内部要素の配置変更処理を実行するため、コモンエリアを形成する配置対象 物の内部要素の配置を変更して、コモンエリアにおける内部要素の割合もしくは専用 領域における内部要素の割合を、配置対象物を指定しながらユーザ所望の値に効 率的に変更することができる。
[0133] なお、最適化部 30の配置変更部 32の第 3配置変更部 32cが、コモンエリアにおけ る内部要素の配置を、当該内部要素の接続関係に基づいて行なうため、第 3配置変 更部 32cが、所属する配置対象物への接続割合が大きい内部要素ほど、所属する 配置対象物の中心もしくは重心により近い位置に配置変更するため、内部要素のコ ンパクシヨン効果を得ることができる。
[0134] また、この第 3配置変更部 32cによる配置変更処理に伴って、コモンエリアの中心 部分が未使用領域になる可能性が高くなるので、他の内部要素のアサインも追加で きるし、デッドスペースも減少させることが可能となる。
なお、配置変更部 32の第 1配置変更部 32a,第 2配置変更部 32b,及び第 3配置 変更部 32cによって、コモンエリアを形成する内部要素の配置を変更することによつ て、効率の良いフロアプラン処理の実行による設計時間の短縮とコモンエリアを有効 利用することでの半導体集積回路サイズの小型化を実現できる。
[0135] また、本フロアプラン装置 1では、表示部 3,表示制御部 4,及び入力部 5を用いて、 上述したように表示部 3に様々な情報を表示させながら、ユーザに対して対話的にフ ロアプラン処理を実行するので、効率の良!、分割設計が可能になる。
〔2〕その他
なお、本発明は上述した実施形態に限定されるものではなぐ本発明の趣旨を逸 脱しな 、範囲で種々変形して実施することができる。
[0136] 例えば、上述した実施形態では、最適化部 30の配置変更部 32が第 1配置変更部 32a〜第 3配置変更部 32cをそなえて構成された例をあげて説明したが、本発明はこ れに限定されるものではなぐ第 1配置変更部 32a〜第 3配置変更部 32cのうちのい ずれか一つが含まれて!/、ればよ!/、。
また、本発明において、これら第 1配置変更部 32a〜第 3配置変更部 32cによる配 置変更処理の方法も上述した実施形態に限定されるものではない。 [0137] 例えば、第 1配置変更部 32aによる処理は、ユーザが論理コスト期待値,実装コスト 期待値,総合コスト期待値の 、ずれかを直接手動で選択して実行されてもょ 、。 また、第 2配置変更部 32bにおける配置変更処理は、上述した第 1〜第 3モードに 限定されるものではなぐ少なくとも第 1使用面積率もしくはコモンエリア使用面積を 利用して、これらの値に基づ 、て配置変更処理を行なえばよ!、。
[0138] さらに、上述した実施形態において、コモンエリア形成部 12によってコモンエリアを 形成する際に、所定の領域 (例えば、非矩形の配置対象物を矩形に変形するために 追加される領域)に配置対象物ごとの使用制限を予め設定して、コモンエリアにおけ る所定の領域を利用できる配置対象物やその割合を予め設定するように構成しても よぐこれによつても効率の良いフロアプラン処理を実現することができる。
[0139] なお、上述した実施形態では、配置変更部 32による配置変更処理によって、コモ ンエリア内の内部要素が完全にコモンエリア内に配置される例をあげて説明した (例 えば、上記図 18 (a)〜図 20 (a)参照)が、本発明はこれに限定されるものではなぐ 例えば、図 31 (a)〜(d)に示すごとぐコモンエリア形成部 12が、図 31 (a)に示す配 置対象物 L15, L25の形状及び配置を変更して、図 31 (b)に示すごとくコモンエリア W9を形成した場合、配置変更部 32 (つまり、第 1配置変更部 32a〜第 3配置変更部 32cのいずれか)力 図 31 (c)に示すごとぐ内部要素を、コモンエリア W9とそれぞ れの配置対象物 L15, L25の専用領域とに跨るように配置してもよ 、。
[0140] この場合には、形状変更部 33が図 31 (d)に示すごとく配置対象物 L15, L25の形 状を変更することができ、上述した実施形態と同様の効果を得ることができる。
また、上述した表示制御部 4,配置部 11,コモンエリア形成部 12,論理コスト期待 値算出部 21,実装コスト期待値算出部 22,総合コスト期待値算出部 23,最適化部 3 0,判定部 31,配置変更処理部 32,第 1配置変更処理部 32a,第 2配置変更処理部 32b,第 3配置変更処理部 32c,及び形状変更部 33としての機能は、コンピュータ( CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム (フロア プランプログラム)を実行することによって実現されてもよい。
[0141] それらのプログラムは、例えばフレキシブルディスク, CD (CD-ROM, CD-R, C D— RWなど), DVD (DVD-ROM, DVD -RAM, DVD-R, DVD-RW, DV D+R, DVD+RWなど)等のコンピュータ読取可能な記録媒体に記録された形態 で提供される。この場合、コンピュータはその記録媒体力もフロアプランプログラムを 読み取つて内部記憶装置または外部記憶装置に転送し格納して用 、る。
[0142] また、それらのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の 記憶装置 (記録媒体)に記録しておき、その記憶装置力も通信回線を介してコンビュ ータに提供するようにしてもょ 、。
ここで、コンピュータとは、ハードウェアと OS (オペレーティングシステム)とを含む概 念であり、 OSの制御の下で動作するハードウェアを意味している。また、 OSが不要 でアプリケーションプログラム単独でノヽードウエアを動作させるような場合には、その ハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、 CPU等の マイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るため の手段とをそなえている。
[0143] 上記フロアプランプログラムとしてのアプリケーションプログラムは、上述のようなコン ピュータに、表示制御部 4,配置部 11,コモンエリア形成部 12,論理コスト期待値算 出部 21,実装コスト期待値算出部 22,総合コスト期待値算出部 23,最適化部 30, 判定部 31,配置変更処理部 32,第 1配置変更処理部 32a,第 2配置変更処理部 32 b,第 3配置変更処理部 32c,及び形状変更部 33としての機能を実現させるプロダラ ムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなく OSによって実現されてもよい。
[0144] なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク, CD, DVD,磁気ディスク,光ディスク,光磁気ディスクのほ力、 ICカード, ROMカートリツ ジ,磁気テープ,パンチカード,コンピュータの内部記憶装置 (RAMや ROMなどの メモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンビ ユータ読取可能な種々の媒体を利用することもできる。

Claims

請求の範囲
[1] 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行 なうフロアプラン装置であって、
前記複数の配置対象ブロックのうちの少なくとも 2つの配置対象ブロックが互いに重 なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領 域上に仮配置する仮配置部と、
前記重複領域を形成する配置対象ブロックのうちの少なくとも 1つの配置対象プロ ックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該 配置対象ブロックを最適化する最適化部とをそなえて構成されていることを特徴とす る、フロアプラン装置。
[2] 前記仮配置部が、
前記複数の配置対象ブロックを互いに重なり合わな 、ように前記実装領域上に配 置する配置部と、
該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも 1つの 配置対象ブロックの配置及び Zまたは形状を変更することによって、前記重複領域 を形成する重複領域形成部とをそなえて構成されて!、ることを特徴とする、請求の範 囲第 1項記載のフロアプラン装置。
[3] 前記重複領域形成部が、非矩形の配置対象ブロックを矩形に変形することを特徴 とする、請求の範囲第 2項記載のフロアプラン装置。
[4] 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも 1 つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変 更された当該配置対象ブロックの形状を変更することを特徴とする、請求の範囲第 1 項〜第 3項のいずれか 1項に記載のフロアプラン装置。
[5] 前記最適化部が、前記重複領域において当該重複領域を形成する複数の配置対 象ブロックの前記内部要素が互いに干渉して 、るか否かを判定し、干渉して 、ると判 定した場合には、互いに干渉する前記内部要素のうちの少なくとも 1つの内部要素の 配置を変更することにより、前記干渉を解消することを特徴とする、請求の範囲第 4項 記載のフロアプラン装置。
[6] 前記最適化部が、前記重複領域を形成する前記配置対象ブロックのそれぞれの、 当該配置対象ブロックの全領域力 前記重複領域を除いた専用領域における前記 内部要素の使用面積率 (以下、第 1使用面積率という)と、前記重複領域における当 該重複領域を形成する配置対象ブロックの前記内部要素の使用面積 (以下、重複領 域使用面積という)とのうちの少なくとも一方を用いて、前記内部要素の配置を変更 することを特徴とする、請求の範囲第 1項〜第 5項のいずれ力 1項に記載のフロアプ ラン装置。
[7] 前記最適化部が、前記配置対象ブロックの前記専用領域における前記内部要素を 前記重複領域に移動することにより、前記内部要素の配置を変更することを特徴とす る、請求の範囲第 6項記載のフロアプラン装置。
[8] 前記最適化部が、前記重複領域使用面積が最大となるように、前記重複領域を形 成する配置対象ブロックのうちの前記第 1使用面積率が最も高い配置対象ブロックの 前記内部要素の配置を変更することを特徴とする、請求の範囲第 6項または第 7項記 載のフロアプラン装置。
[9] 前記重複領域が 2つの配置対象ブロックによって形成されている場合、前記最適化 部力 前記 2つの配置対象ブロックのうちの前記第 1使用面積率が高い一の配置対 象ブロックの前記第 1使用面積率が、他の配置対象ブロックの前記第 1使用面積率と 同一になるように、前記一の配置対象ブロックの前記内部要素の配置を変更すること を特徴とする、請求の範囲第 6項または第 7項記載のフロアプラン装置。
[10] 前記最適化部が、前記重複領域を形成する配置対象ブロックのそれぞれの前記第 1使用面積率を同一にしながら、前記第 2使用面積率が最大となるように、前記配置 対象ブロックの前記内部要素の配置を変更することを特徴とする、請求の範囲第 6項 または第 7項記載のフロアプラン装置。
[11] 前記最適化部が、前記内部要素の前記配置対象ブロック内における接続関係に 基づいて算出された論理コスト期待値に応じて前記内部要素の配置を変更すること を特徴とする、請求の範囲第 1項〜第 5項のいずれか 1項に記載のフロアプラン装置
[12] 前記最適化部が、前記内部要素の他の配置対象ブロックの内部要素との接続関 係に基づいて算出された実装コスト期待値に応じて前記内部要素の配置を変更する ことを特徴とする、請求の範囲第 1項〜第 5項のいずれか 1項に記載のフロアプラン 装置。
[13] 前記最適化部が、前記内部要素の前記配置対象ブロック内における接続関係に 基づいて算出された論理コスト期待値と前記内部要素の他の配置対象ブロックの内 部要素との接続関係に基づいて算出された実装コスト期待値とに基づいて算出され た総合コスト期待値に応じて前記内部要素の配置を変更することを特徴とする、請求 の範囲第 1項〜第 5項のいずれか 1項に記載のフロアプラン装置。
[14] 前記最適化部が、前記重複領域における前記内部要素の配置を当該内部要素の 接続関係に基づいて行なうことを特徴とする、請求の範囲第 4項〜第 13項のいずれ 力 1項に記載のフロアプラン装置。
[15] 前記配置処理にかかる情報を表示する表示部と、該表示部上の表示データに対 する応答情報を入力する入力部とをさらにそなえ、
前記最適化部が、前記入力部によって入力された応答情報に基づいて各種設定 を行なうことを特徴とする、請求の範囲第 1項〜第 14項のいずれか 1項に記載のフロ ァプラン装置。
[16] 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行 なう機能をコンピュータに実現させるためのフロアプランプログラムであって、 前記複数の配置対象ブロックのうちの少なくとも 2つの配置対象ブロックが互いに重 なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領 域上に仮配置する仮配置部、及び、
前記重複領域を形成する配置対象ブロックのうちの少なくとも 1つの配置対象プロ ックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該 配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを 特徴とする、フロアプランプログラム。
[17] 前記仮配置部として前記コンピュータを機能させる際、
前記複数の配置対象ブロックを互いに重なり合わな 、ように前記実装領域上に配 置する配置部、及び、 該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも 1つの 配置対象ブロックの配置及び Zまたは形状を変更することによって、前記重複領域 を形成する重複領域形成部として、前記コンピュータを機能させることを特徴とする、 請求の範囲第 16項記載のフロアプランプログラム。
[18] 前記最適化部が、前記重複領域を形成する配置対象ブロックのうちの少なくとも 1 つの配置対象ブロックの前記内部要素の配置を変更し、前記内部要素の配置が変 更された当該配置対象ブロックの形状を変更するように、前記コンピュータを機能さ せることを特徴とする、請求の範囲第 16項または第 17項記載のフロアプランプロダラ ム。
[19] 内部要素が配置された複数の配置対象ブロックの実装領域上への配置処理を行 なう機能をコンピュータに実現させるためのフロアプランプログラムを記録したコンビュ 一タ読取可能な記録媒体であって、
前記フロアプランプログラムが、
前記複数の配置対象ブロックのうちの少なくとも 2つの配置対象ブロックが互いに重 なり合って重複領域を形成するように、前記複数の配置対象ブロックを前記実装領 域上に仮配置する仮配置部、及び、
前記重複領域を形成する配置対象ブロックのうちの少なくとも 1つの配置対象プロ ックの前記内部要素を、当該重複領域を使用しながら配置変更することにより、当該 配置対象ブロックを最適化する最適化部として、前記コンピュータを機能させることを 特徴とする、フロアプランプログラムを記録したコンピュータ読取可能な記録媒体。
[20] 前記フロアプランプログラムが、前記仮配置部として前記コンピュータを機能させる 際、
前記複数の配置対象ブロックを互いに重なり合わな 、ように前記実装領域上に配 置する配置部、及び、
該配置部によって配置された前記複数の配置対象ブロックのうちの少なくとも 1つの 配置対象ブロックの配置及び Zまたは形状を変更することによって、前記重複領域 を形成する重複領域形成部として、前記コンピュータを機能させることを特徴とする、 請求の範囲第 19項記載のフロアプランプログラムを記録したコンピュータ読取可能 な記録媒体。
PCT/JP2005/011288 2005-06-20 2005-06-20 フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 WO2006137119A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2005/011288 WO2006137119A1 (ja) 2005-06-20 2005-06-20 フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2007522143A JP4221045B2 (ja) 2005-06-20 2005-06-20 フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US11/953,226 US7962884B2 (en) 2005-06-20 2007-12-10 Floorplanning apparatus and computer readable recording medium storing floorplanning program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/011288 WO2006137119A1 (ja) 2005-06-20 2005-06-20 フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/953,226 Continuation US7962884B2 (en) 2005-06-20 2007-12-10 Floorplanning apparatus and computer readable recording medium storing floorplanning program

Publications (1)

Publication Number Publication Date
WO2006137119A1 true WO2006137119A1 (ja) 2006-12-28

Family

ID=37570172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/011288 WO2006137119A1 (ja) 2005-06-20 2005-06-20 フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体

Country Status (3)

Country Link
US (1) US7962884B2 (ja)
JP (1) JP4221045B2 (ja)
WO (1) WO2006137119A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238129A (ja) * 2008-03-28 2009-10-15 Hitachi Information & Communication Engineering Ltd 半導体集積回路配置プログラム及び方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219959B2 (en) * 2009-07-24 2012-07-10 Lsi Corporation Generating integrated circuit floorplan layouts
TWI529551B (zh) * 2009-09-10 2016-04-11 卡登斯系統設計公司 用於實作圖形可編輯參數化單元之系統及方法
US9256709B2 (en) 2014-02-13 2016-02-09 Taiwan Semiconductor Manufacturing Company, Ltd. Method for integrated circuit mask patterning
US10474781B2 (en) * 2014-05-24 2019-11-12 Synopsys, Inc. Virtual hierarchical layer usage
CN110414151B (zh) * 2019-07-31 2023-02-14 无锡市建筑设计研究院有限责任公司 一种基于cad的住宅户型公摊面积计算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325953A (ja) * 1989-06-23 1991-02-04 Toshiba Corp 自動フロアプラン演算装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09330983A (ja) 1996-06-12 1997-12-22 Toshiba Corp Lsi配線用経路探索グラフの作成装置
JP4161418B2 (ja) 1998-06-30 2008-10-08 富士通株式会社 直角多角形領域分割方法及び直角多角形領域分割プログラムを記録した記録媒体並びに直角多角形領域分割装置
JP2003045780A (ja) 2001-07-30 2003-02-14 Nec Corp マスク描画データの作成方法
US7231625B2 (en) * 2004-09-28 2007-06-12 Lsi Corporation Method and apparatus for use of hidden decoupling capacitors in an integrated circuit design
JP2006301961A (ja) * 2005-04-20 2006-11-02 Matsushita Electric Ind Co Ltd 半導体集積回路の自動フロアプラン手法
JP4783268B2 (ja) * 2006-11-17 2011-09-28 株式会社東芝 半導体レイアウト設計装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325953A (ja) * 1989-06-23 1991-02-04 Toshiba Corp 自動フロアプラン演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238129A (ja) * 2008-03-28 2009-10-15 Hitachi Information & Communication Engineering Ltd 半導体集積回路配置プログラム及び方法

Also Published As

Publication number Publication date
JP4221045B2 (ja) 2009-02-12
US20080127016A1 (en) 2008-05-29
US7962884B2 (en) 2011-06-14
JPWO2006137119A1 (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
US8775998B2 (en) Support device of three-dimensional integrated circuit and method thereof
JP6534436B2 (ja) 電子設計自動化ツールのグラフィカルユーザインターフェイスにおけるピン位置の更新
JP5242103B2 (ja) 半導体集積回路のレイアウト方法
US7503026B2 (en) Cell, standard cell, standard cell library, a placement method using standard cell, and a semiconductor integrated circuit
US6370673B1 (en) Method and system for high speed detailed placement of cells within an integrated circuit design
US6446246B1 (en) Method and apparatus for detail routing using obstacle carving around terminals
JPH10313058A (ja) 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法
US20160154924A1 (en) Semiconductor design method and computer-readable recording medium
JP4221045B2 (ja) フロアプラン設計支援装置,フロアプラン設計支援プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
JP2720629B2 (ja) 集積回路のレイアウトシステム
JP2007027290A (ja) 半導体集積回路のレイアウト設計方法
JP4274814B2 (ja) 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム
US6075934A (en) Method for optimizing contact pin placement in an integrated circuit
US7530038B2 (en) Method and placement tool for designing the layout of an electronic circuit
JP2004104039A (ja) 集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体
US20170061063A1 (en) Integrated circuit with reduced routing congestion
JP2921454B2 (ja) 集積回路の配線方法
WO1998055950A1 (en) Integrated circuit layout synthesis tool
JP5407450B2 (ja) 半導体集積回路の設計支援方法及び製造方法
JP2003099493A (ja) 半導体集積回路装置のセルレイアウト生成装置、およびセルレイアウトの生成方法、ならびにその方法で製造した半導体集積回路装置
JPH09232436A (ja) 論理合成方法及び装置並びに半導体集積回路設計方法
JPH04101276A (ja) 集積回路設計装置
JP2011060015A (ja) 設計方法
JP2667274B2 (ja) スタンダードセルチップの開発支援装置
JP2007328745A (ja) フロアプラン生成装置及びその制御方法、プログラム、記憶媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007522143

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 11953226

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 05750913

Country of ref document: EP

Kind code of ref document: A1