Technique for distributing routing into superfluous metal section of an integrated circuit
First Claim
1. A computer-implemented method of generating a layout of a circuit block of an integrated circuit, comprising:
- receiving input data defining a logical operation of the circuit block;
accessing a cell library providing a plurality of cells that define circuit elements, to determine with reference to the input data the cells to be used to implement the circuit block; and
employing a place and route tool to generate the layout by determining a placement of the determined cells and by performing a routing operation to determine routing paths to be provided within a plurality of metal layers in order to interconnect the determined cells;
the cell library providing cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell, each cell having cell definition data, and the cell definition data of one or more cells identifying at least one superfluous metal section as available for routing, wherein said at least one metal layer containing said one or more superfluous metal sections comprises a metal 0 (M0) layer;
during performance of the routing operation, causing the place and route tool to reference the cell definition data of the determined cells so as to take into account, when determining said routing paths, availability of any superfluous metal sections for routing.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method is described for generating a layout of a circuit block of an integrated circuit. The method comprises receiving input data defining a logical operation of the circuit block, and accessing a cell library providing a plurality of cells that define circuit elements, in order to determine with reference to the input data the cells to be used to implement the circuit block. A place and route tool is then employed to generate the layout by determining a placement of the determined cells and performing a routing operation to determine routing paths to be provided within a plurality of metal layers in order to interconnect the determined cells. The cell library provides cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell. Each cell has cell definition data, and the cell definition data of one or more cells is arranged to identify at least one superfluous metal section as being available for routing. During performance of the routing operation, the place and route tool then references the cell definition data of the determined cells so as to take into account, when determining the routing paths, availability of any superfluous metal sections for routing. This can significantly increase the options available to the place and route tool when determining the appropriate routing paths.
-
Citations
16 Claims
-
1. A computer-implemented method of generating a layout of a circuit block of an integrated circuit, comprising:
-
receiving input data defining a logical operation of the circuit block; accessing a cell library providing a plurality of cells that define circuit elements, to determine with reference to the input data the cells to be used to implement the circuit block; and employing a place and route tool to generate the layout by determining a placement of the determined cells and by performing a routing operation to determine routing paths to be provided within a plurality of metal layers in order to interconnect the determined cells; the cell library providing cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell, each cell having cell definition data, and the cell definition data of one or more cells identifying at least one superfluous metal section as available for routing, wherein said at least one metal layer containing said one or more superfluous metal sections comprises a metal 0 (M0) layer; during performance of the routing operation, causing the place and route tool to reference the cell definition data of the determined cells so as to take into account, when determining said routing paths, availability of any superfluous metal sections for routing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method of generating a layout of a circuit block of an integrated circuit, comprising:
-
receiving input data defining a logical operation of the circuit block; accessing a cell library providing a plurality of cells that define circuit elements, to determine with reference to the input data the cells to be used to implement the circuit block; and employing a place and route tool to generate the layout by determining a placement of the determined cells and by performing a routing operation to determine routing paths to be provided within a plurality of metal layers in order to interconnect the determined cells; the cell library providing cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell, each cell having cell definition data, and the cell definition data of one or more cells identifying at least one superfluous metal section as available for routing; during performance of the routing operation, causing the place and route tool to reference the cell definition data of the determined cells so as to take into account, when determining said routing paths, availability of any superfluous metal sections for routing; and providing the place and route tool with an abstract view of each determined cell as derived from the cell definition data, the abstract view identifying each metal section in said at least one metal layer as one of; an input/output pin to which a routing path is connectable; an obstruction that must remain isolated from the routing paths; and a superfluous metal section available for routing. - View Dependent Claims (11)
-
-
12. A computer-implemented method of generating a layout of a circuit block of an integrated circuit, comprising:
-
receiving input data defining a logical operation of the circuit block; accessing a cell library providing a plurality of cells that define circuit elements, to determine with reference to the input data the cells to be used to implement the circuit block; and employing a place and route tool to generate the layout by determining a placement of the determined cells and by performing a routing operation to determine routing paths to be provided within a plurality of metal layers in order to interconnect the determined cells; the cell library providing cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell, each cell having cell definition data, and the cell definition data of one or more cells identifying at least one superfluous metal section as available for routing; during performance of the routing operation, causing the place and route tool to reference the cell definition data of the determined cells so as to take into account, when determining said routing paths, availability of any superfluous metal sections for routing; and during the routing operation, when considering employing at least one superfluous metal section to form a portion of a routing path, performing a timing determination operation to take into account a change in signal timing resulting from use of the at least one superfluous metal section. - View Dependent Claims (13, 14, 15)
-
-
16. A non-transitory storage medium storing a cell library comprising a plurality of cells that define circuit elements, the cell library providing cells that define in at least one metal layer one or more superfluous metal sections that are required to comply with design rules but which are unused by the cell, each cell having cell definition data, and the cell definition data of one or more cells identifying at least one superfluous metal section as available for routing to a processor-executed place and route tool which is configured to generate a layout for a circuit block by determining a placement of selected cells from the cell library and by referencing the cell definition data of the selected cells to be used to implement a circuit block so as to take into account, when determining routing paths interconnecting the selected cells, availability of any superfluous metal sections for routing, wherein said at least one metal layer containing said one or more superfluous metal sections comprises a metal 0 (M0) layer.
Specification