Gate-array router. This is an initial version tuned specifically for the AMCC 3500 gate-array, intended mainly to develop experience in gate-array routing. It is intended that this form the foundation for a more general-purpose routing system integrated with the other Magic routing tools. Overall structure: ----------------- - Build netlist (just like in router module) - Channel generation: Differences from Magic router: - Channels are provided by the user rather than being generated automatically. There are commands of the several forms: garoute channel xlo ylo xhi yhi Define a general-purpose routing channel garoute channel xlo ylo xhi yhi [horizontal | vertical] Define either a horizontal or a vertical river-routing region - Channels are cleared by garoute clear - Terminals can appear inside river-routing channels. - Terminal pin assignment: Simply assign each pin to both sides of the channel, making certain that there isn't already a pin in the way. Assign edge pins to the channel side that is nearest. If pins are not already aligned, we will do stem generation; it's up to the user to leave enough room in the channels. - Global routing: