SymbolicChannelRouter - routes a given channel on a symbolic grid
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"
int SymbolicChannelRouter(ptNorthConList,
ptSouthConList,
ptWestConList,
ptEastConList,
ChannelWidth,
ChannelHeight,
ptHorSegList,
ptVerSegList,
ptViaList)
ConnectorList *ptNorthConList;
ConnectorList *ptSouthConList;
ConnectorList *ptWestConList;
ConnectorList *ptEastConList;
ptNorthConList
List of the connectors located on the north side of the channel.
ptSouthConList
List of the connectors located on the south side of the channel.
ptWestConList
List of the connectors located on the west side of the channel.
ptEastConList
List of the connectors located on the east side of the channel.
ChannelWidth
Width of the channel.
ChannelHeight
Height of the channel.
ptHorSegList
List of horizontal wires produced by the SymbolicChannelRouter.
ptVerSegList
List of vertical wires produced by the SymbolicChannelRouter.
ptViaList List of vias produced by the SymbolicChannelRouter.
SymbolicChannelRouter routes a given channel on symbolic grid using a
greedy algorithm.
The connectors on the west and east sides are
The ptNorthConList, ptSouthConList, ptWestConList and ptEastConList can be
NULL.
The ChannelWidth is the width of the channel. It is a symbolic value.
ChannelHeight is the Height of the channel. It is a symbolic value and it
may be a value zero.
The ptHorSegList, ptVerSegList and ptViaList are returned by the SymbolicChannelRouter.
The SymbolicChannelRouter structure is described :
typedef struct SCR_ConnectorList
{
struct SCR_ConnectorList *NextCon;
typedef struct SCR_SegmentList
{
X1Seg, Y1Seg, X2Seg, Y2Seg
Coordinates of each end of the segment. Since it's a symbolic
segment.
typedef struct SCR_ViasList
{
XVia,YVia Coordinates of the center of the via.
#include aprnnn.h"
if (SymbolicChannelRouter(ptNorthConList,
ptSouthConList,
ptWestConList,
ptEastConList,
&ChannelWidth,
&ChannelHeight,
&ptHorSegList,
&ptVerSegList,
&ptViaList))
printf("the channel width is modified;0);
else printf("the channel width is not modified;0);
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.