Data structures for representing the logical and physical information of an integrated circuit
First Claim
1. A computer readable medium having stored thereon a data structure defining a physical block (hereafter pblock) in a hierarchy of pblocks which defines the same integrated circuit structure by reference to data in a netlist which defines a logical hierarchy, the data defining said pblock comprising:
- A) a field or list containing pointers to data defining boundary pins or said pblock or containing data which defines boundary pins assigned to said pblock, said boundary pins for connecting to external nets;
B) a field containing a pointer to a parent cellview which contains said pblock;
C) a field containing a pointer to a pcellview data structure owned by said pblock, said pcellview containing data or pointers to data which define lists of pins, nets, child pblocks and child instances which have been assigned to said pblock and which define the functionality of said pblock; and
D) a field containing coordinates on a floorplan representing a surface of an integrated circuit on which said circuits assigned to said pblocks are to be formed, said coordinates being such as to define a geometric shape representing said pblock and the size thereof, said geometric shape being displayed on a computer display of a computer executing a floor planning process.
1 Assignment
0 Petitions
Accused Products
Abstract
A floor planner tool for integrated circuit design which provides tools and displays for a designer to create a floor plan to define desired placement of circuits defined in a logical netlist by creating a physical hierarchy comprised of nested pblocks. Each pblock is a data structure which contains data which defines which circuits from the logical netlist are assigned to it. Each pblock stands alone and can be input to a place and route tool without the rest of the physical hierarchy. Each pblock data structure contains pointers to the circuits on the netlist assigned to that plbock, identifies other pblocks nested within it and contains at least a list of boundary pins for that pblock. Net data structures in the physical hierarchy define which nets are connected to which pins. PCellview data structures define the internal structure of each pblock.
58 Citations
7 Claims
-
1. A computer readable medium having stored thereon a data structure defining a physical block (hereafter pblock) in a hierarchy of pblocks which defines the same integrated circuit structure by reference to data in a netlist which defines a logical hierarchy, the data defining said pblock comprising:
-
A) a field or list containing pointers to data defining boundary pins or said pblock or containing data which defines boundary pins assigned to said pblock, said boundary pins for connecting to external nets;
B) a field containing a pointer to a parent cellview which contains said pblock;
C) a field containing a pointer to a pcellview data structure owned by said pblock, said pcellview containing data or pointers to data which define lists of pins, nets, child pblocks and child instances which have been assigned to said pblock and which define the functionality of said pblock; and
D) a field containing coordinates on a floorplan representing a surface of an integrated circuit on which said circuits assigned to said pblocks are to be formed, said coordinates being such as to define a geometric shape representing said pblock and the size thereof, said geometric shape being displayed on a computer display of a computer executing a floor planning process. - View Dependent Claims (2, 3)
-
-
4. A computer readable medium having stored thereon a data structure defining a physical block cellview (hereafter pcellview) owned by a particular pblock in a hierarchy of pblocks which defines the internals of said pblock which owns said pcellview, the data defining said pcellview comprising:
-
A) a list containing data which defines a list of pblocks which are included or nested within said pblock defined by data elements A through D;
B) a list containing data or pointers to data on said netlist which define instances which have been assigned to said pblock;
C) a list containing data or pointers to data which define boundary pins of said pblock which connect to internal nets of said pcellview;
D) a list containing data or pointers to data which define internal physical nets which connect from boundary pins of said pblock to internal pins so as to complete the original connectivity between instances defined in said netlist; and
E) a field which contains a pointer to a data object representing a parent pblock that envelopes the pcellview data object defined by data elements A through E.
-
-
5. A computer readable medium having stored thereon a data structure defining an array that links instances from a netlist to pblocks of a physical hierarchy, said array comprising:
a plurality of rows of a one column table, each row having an index that corresponds to a particular instance from a logical netlist, with the entry in the single column at that row comprising a field which contains a pointer to a pblock in a physical hierarchy of pblocks to which is assigned the instance corresponding to said row.
-
6. A computer readable medium having stored thereon a data structure defining a floorplan for circuits integrated on an integrated circuit and assigned to physical blocks (hereafter pblocks) in a physical hierarchy of pblocks, comprising:
-
an array containing;
a plurality of rows of a one column table, each row having an index that corresponds to a particular instance from a logical netlist, with the entry in the single column at that row comprising a field which contains a pointer to a pblock in a physical hierarchy of pblocks to which is assigned the instance corresponding to said row. a field containing an identifier of a root pblock which is a pblock which will contain all other pblocks in a physical hierarchy of pblocks.
-
-
7. A computer readable medium having stored thereon a data structure defining a physical net coupled to instances in physical blocks (hereafter pblocks) in a physical hierarchy of pblocks, comprising:
-
a field containing a pointer to a parent PCellview to which a physical net defined by said data structure belongs;
a list containing pointers to data objects defining physical boundary pins to which said physical net is coupled in said physical hierarchy or data directly defining said boundary pins; and
a list containing pointers to data objects of a logical netlist which define logical netlist pins on instances in said logical netlist to which said physical net is coupled in said physical hierarchy or data directly defining said logical netlist pins.
-
Specification