Method and apparatus for irregular datapath placement in a datapath placement tool
First Claim
Patent Images
1. A placement method for placing elements of a circuit representation of an integrated circuit, said circuit representation stored in a memory of a computer system, said method comprising the steps of:
- a) spatially ordering each of a plurality of function blocks of a datapath of said circuit representation in order to minimize bus connections between said plurality of function blocks;
b) determining an area for each function block of said plurality of function blocks of said datapath;
c) determining a rough floorplan of said plurality of function blocks of said datapath based on said area for each function block and based on a spatial order determined by step a);
d) performing gridded placement to place regular gates of said plurality of function blocks wherein each regular gate is placed at a spatial location within its associated function block;
e) performing directed placement to place irregular gates of said plurality of function blocks and, in addition, performing directed placement to place gates having connections between datapath blocks, wherein each gate placed by step e) is placed at a location within its associated function block, said step e) comprising the steps of;
e1) spacing input/output pins along a respective function block at approximately equal spacing; and
e2) placing each irregular gate and each gate having connections between datapath blocks, in a location near an input/output pin that is associated with said each gate.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for datapath placement of irregular logic, while still allowing control of wire lengths. The method and apparatus allow use of a objective, called a directed placement objective, that causes a logic gate to be placed at or near a coordinate, such as an input or output pin connected to the gate.
-
Citations
14 Claims
-
1. A placement method for placing elements of a circuit representation of an integrated circuit, said circuit representation stored in a memory of a computer system, said method comprising the steps of:
-
a) spatially ordering each of a plurality of function blocks of a datapath of said circuit representation in order to minimize bus connections between said plurality of function blocks;
b) determining an area for each function block of said plurality of function blocks of said datapath;
c) determining a rough floorplan of said plurality of function blocks of said datapath based on said area for each function block and based on a spatial order determined by step a);
d) performing gridded placement to place regular gates of said plurality of function blocks wherein each regular gate is placed at a spatial location within its associated function block;
e) performing directed placement to place irregular gates of said plurality of function blocks and, in addition, performing directed placement to place gates having connections between datapath blocks, wherein each gate placed by step e) is placed at a location within its associated function block, said step e) comprising the steps of;
e1) spacing input/output pins along a respective function block at approximately equal spacing; and
e2) placing each irregular gate and each gate having connections between datapath blocks, in a location near an input/output pin that is associated with said each gate. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer usable medium having computer readable code embodied therein for causing a method of placement of an integrated circuit design having a circuit representation which is stored in a memory of a computer system, said method comprising the steps of:
-
a) spatially ordering each of a plurality of function blocks of a datapath of said circuit representation in order to minimize bus connections between said plurality of function blocks;
b) determining an area for each function block of said plurality of function blocks of said datapath;
c) determining a rough floorplan of said plurality of function blocks of said datapath based on said area for each function block and based on a spatial order determined by step a);
d) performing gridded placement to place regular gates of said plurality of function blocks wherein each regular gate is placed at a spatial location within its associated function block;
e) performing directed placement to place irregular gates of said plurality of function blocks and, in addition, performing directed placement to place gates having connections between datapath blocks, wherein each gate placed by step e) is placed at a location within its associated function block, said step e) comprising the steps of;
e1) spacing input/output pins along a respective function block at approximately equal spacing; and
e2) placing each irregular gate and each gate having connections between datapath blocks, in a location near an input/output pin that is associated with said each gate. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification