Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
261 words
In an engineering workstation for automating electronic design, a software-implemented process for circuit placement, the process comprising the steps of: receiving a netlist file, the netlist file including a plurality of interconnected components; identifying which of the interconnected components belong to a structural portion and which belong to a non-structural portion according to bus signals; conducting a bus analysis to align the bus signals and to determine a usable bus, the bus analysis being performed with analytic tools; identifying a group of cells through set covering that have related connectivity; finding a group of cells to form a column; assigning cells to a bit slice based on a trace probability, wherein the step of assigning cells to a bit slice by use of a trace probability comprises the steps of: depth-first-sorting, from input to output, the cells such that each cell input does bit-slice assignment before its output cell, the depth-first-sorting accomplished by a cell-connectivity graph; b) calculating each cell potential probability for assigning the cell to every bit-slice bin; and c) adding all potential probability from each cell to determine entire circuit bit-slice traffic; d) assigning each cell to its highest probability bit-slice, the cell being assigned to the lowest bit-slice traffic of entire circuit for bit-slices that have the same probability; and e) repeating steps a) through d) until all cell finish bit-slice assignment; deriving an initial placement through simulated annealing; and generating a lay-out for defining physical placement of the interconnected components, the interconnected components identified as belonging to the structural portion being placed in a preferred area.
Claim 2
Dependent Claim
261 words
In an engineering workstation for automating electronic design, a software-implemented process for circuit placement, the process comprising the steps of: receiving a netlist file, the netlist file including a plurality of interconnected components; identifying which of the interconnected components belong to a structural portion and which belong to a non-structural portion according to bus signals; conducting a bus analysis to align the bus signals and to determine a usable bus, the bus analysis being performed with analytic tools; identifying a group of cells through set covering that have related connectivity; finding a group of cells to form a column; assigning cells to a bit slice based on a trace probability, wherein the step of assigning cells to a bit slice by use of a trace probability comprises the steps of: depth-first-sorting, from input to output, the cells such that each cell input does bit-slice assignment before its output cell, the depth-first-sorting accomplished by a cell-connectivity graph; b) calculating each cell potential probability for assigning the cell to every bit-slice bin; and c) adding all potential probability from each cell to determine entire circuit bit-slice traffic; d) assigning each cell to its highest probability bit-slice, the cell being assigned to the lowest bit-slice traffic of entire circuit for bit-slices that have the same probability; and e) repeating steps a) through d) until all cell finish bit-slice assignment; deriving an initial placement through simulated annealing; and generating a lay-out for defining physical placement of the interconnected components, the interconnected components identified as belonging to the structural portion being placed in a preferred area.
Claim 3
Dependent Claim
13 words
The process of claim 1 wherein the structural portion comprises a data-path circuit.
Claim 4
Dependent Claim
16 words
The process of claim 1 wherein the structural portion is determined by identifying a bus circuit.
Claim 5
Dependent Claim
24 words
The method of claim 3 wherein a plurality of signal pins for the placed structural portion are defined according to the identified bus circuit.
Claim 6
Dependent Claim
35 words
The process of claim 1 further comprising the step of: identifying which of the interconnected components belong to a non-structural portion, the non-structural portion being placed amongst the interconnected components belonging to the structural portion.
Claim 7
Dependent Claim
15 words
The process of claim 1 wherein the structural portion comprises a plurality of bit slices.
Claim 8
Dependent Claim
24 words
The method of claim 6 wherein the structural portion is placed such that a signal timing is constrained for at least one bit slice.
Claim 9
Dependent Claim
21 words
The process of claim 1 wherein the structural portion comprises a plurality of routing lines which are balanced vertically and horizontally.
Claim 10
Dependent Claim
28 words
The process of claim 1 wherein the structural portion comprises a plurality of cells represented in a connectivity matrix, wherein a rectangle covers such cells in the matrix.
Claim 11
Dependent Claim
19 words
The process of claim 1 further comprising the step of swapping structured cells to balance a vertical routing requirement.
Claim 12
Dependent Claim
24 words
The process of claim 1 further comprising the step of applying a slack based timing control to group order determination and random cell placement.
Claim 13
Dependent Claim
112 words
The process of claim 1 wherein the step of conducting a bus analysis to align the bus signals and to determine a usable bus comprises the steps of: a) constructing a bus graph to represent an abstract view of a circuit; b) aligning bus using depth first traverse; c) determining node offset after each path is traversed; d) calculating a total sum for each bit-slice by adding a weight for every incident edge and divide by a bit width; e) finding the least width logic for excessive bit-slices and moving it to a less populated bit-slice; and f) repeating steps a) through e) until each bit-slice has approximately the same total weight.