OpenVerticalChannel - open a vertical channel in a phfig
This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
#include aprnnn.h"
phfig_list *OpenVerticalChannel(ptfig,x,epsilon,width)
OpenVerticalChannel shifts toward the right all the instances of ptfig,
which have an XINS greater than the x passed. The value of the shift is
determined by the fact that none of the instances which will have an XINS
greater than x must overlap. If epsilon doesn't equal zero, OpenVerticalChannel
looks at all the positions between x-epsilon and x+epsilon, so
that the gap created by the channel is the smallest possible. The width is
added to the shift to find of how much the XINS of the instances which are
to be moved must be increased.
x, epsilon and width must be a multiple of PITCH_X (defined in scr.h).
The least value recommended for epsilon is half the width of the largest
instance.
Opening a channel is very fast (less than a second for 10 000 instances).
OpenVerticalChannel returns a pointer to the modified phfig
none
#include aprnnn.h"
phfig_list *open_in_middle(ptfig)
phfig_list *ptfig;
{
long x;
x = (ptphfig->XAB2-ptphfig->XAB1)>>1;
x = x - x%PITCH_X;
return (OpenVerticalChannel (ptfig,x, 5*PITCH_X, 10*PITCH_X));
}
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.