15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

FIGURE 13.3<br />

Placement and Routing: Distance and Wire Loads Are Performance<br />

Custom and semi-custom design processes generally fix the dimension of one of the two wiring directions.<br />

This fixed dimension is most often in the direction of the width of the datapath. Each bit position in the<br />

datapath has a fixed number of available wiring tracks through the bit slice. The cross direction, or control<br />

direction, dimension varies with the complexity of the cells, the number of counter-datapath or control<br />

signals. In Fig. 13.3 the horizontal direction is fixed and the vertical dimension is variable. Thus, within<br />

a datapath, one dimension is determined by the maximum number of signals, which must travel within<br />

that bit position, and the cross dimension is determined by the sum of the individual cell dimensions,<br />

which are, in turn, determined by either the number of control signals which must pass through the cell<br />

or the size of the transistors and the complexity of the interconnections within the individual cells. From<br />

this simple analysis it is clear that the length of the wires, which drive control singles into the datapath,<br />

is determined by the datapath width, which is a function of the worst datapath-direction wiring needs.<br />

In the most general case, control signals must span all datapath bit positions.<br />

Datapath signals are much more variable in length. Global datapath signals, including data span the entire<br />

dataflow stack. Some macro output datapath signals and forwarding busses may cross a significant portion<br />

of the dataflow stack. Other macro outputs will simply be driven back to the inputs of the macro for<br />

dependent operations or locally to an adjacent latch. In each of these cases, the wire lengths are determined<br />

primarily by the sum of the heights of the cells over which these signals must traverse. Important exceptions<br />

are for wide control buses and for cross wiring dominated structures like shifters and rotators whose height<br />

is determined by the cross, or control-direction, wiring.<br />

Sizing the datapath bit width is performed by analyzing the interconnect needs for global buses and<br />

forwarding buses and local datapath interconnects. Once the maximum number of signals, which must<br />

travel through a bit position, is known and additional datapath wiring resources are allocated for power<br />

and ground signals, this dimension can be fixed.<br />

Wire length analysis in the datapath direction is a more complex iterative process. It involves summing<br />

cross wiring needs for shifters and rotators and wide control buses and the lengths of spanned datapath<br />

circuits. The size of the spanned circuits are often estimated based upon scaling of previous designs<br />

and/or preliminary layout of representative cells. At this point, it is the length of the global and macro<br />

crossing signals which are important. Once the length of these signals is known, estimates of the size of<br />

global buffers and macro output drivers can be made. With repeated application of rather simple sizing<br />

rules, an analysis of the size and topologies of the macro circuits can then be performed. The wire and<br />

estimated sink gates form the load for the macro and global drivers, which determine the size of the<br />

8<br />

drivers. Through straightforward rules, such as those presented by Sutherland, et. al., alternatives for<br />

© 2002 by CRC Press LLC<br />

bit 0 bit 1 bit 63<br />

Macro<br />

Datapath<br />

Signals<br />

Global<br />

Datapath<br />

Bus<br />

Custom or semi-custom macro cell placement and wiring.<br />

Control<br />

Signal

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!