CSE 144 Project Part 3
Overview Goal: Implement a routing tool for standard cell design Starts with the placement results Specifies positions of wires that connect pins
Routing Model Regular-net routing Feed-through routing Regular nets: wires within each channel Fabrication model: 2-layer VH model Feed-through routing Feed-throughs: wires crossing multiple channels Fabrication model Separate (the third) metal layer for vertical wires Horizontal wires share the same layer with regular nets
Feed-through Routing Goal: Specify the assignment of horizontal feed-through wires to the channels Model each channel as a big track Problem solved using channel routing algorithm Pin locations may NOT necessarily be at the edges of the big channel
Regular-net Routing Goal: Specify the routing configuration within each channel A typical channel routing problem Routing process needs to take into account the feed-through wires Vertical feed-through wires: Routed in a separate layer No contributions to horizontal/vertical constraints Horizontal feed-through wires: Routed in the same layer with horizontal regular wires Contribute to horizontal constraints No contribution to vertical constraints due to the absence of pins
Core Algorithm and Handling of Exception Cases Both stages modeled as channel routing problem --- the Yoshimura-Kuh algorithm is used Exception case: loops in vertical constraints Solution: output a message indicating the detection of the loop, and immediately proceed to the routing of the next channel In feed-through routing: Possible exception case: fixed channel (big track) quantity --- might be insufficient for fulfilling horizontal&vertical constraints of feed-throughs Solution: proceed to regular-net routing immediately, and ignore feed-through wires in regular-net routing phase
Output Specification Format Net i : (PinPosition1, PinPosition2,...) [LeftmostPosition, RightmostPosition] TrackNumber