bbr - A pitchless channel router for preplaced two blocks floorplan
bbr planet [ -v ] [ -o filename ] [ supply width ]
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
The goal of bbr is to interconnect two, and only two, macro-blocks through a routing channel.
The nets are of two types for bbr, the simple nets, that are routed in minimum width with the symbolic channel router, see scr(1) , and the spe_cial nets, like power, ground and clock, that are handled specifically by bbr.
Physical connectors can be present in the placement file, in order to specify some constraints to the router. Two positions are legal :
Right on the channel coordinate
If a connector is placed where the two block abut,
then it will be used as routing point on the given
side of the channel. It is legal to put several connectors
at the same coordinate, since the channel
width is zero when starting. The router will choose a
track for each of them, so there is no warranty on the
relative order of connectors on the orthogonal faces
of the channel.
On the parallel external sides of the block If a feed through is detected in the instance under the connector, the router will use the track to reach the channel.
The external connectors appearing in the netlist file but not in the placement file are physically created on a randomly choosen face of the channel.
The physical connectors to appear in the interface of the block are the one declared in the netlist. Other instance connectors will not be copied up.
As bbr is only a channer router, not a floorplan one, the design must ensure routability.
Both the instances must have single power and ground signals. These signals should be available in the channel, as bbr must tie them to realize the input netlist.
All instance connectors not in the channel should appear as connectors of the top level figure. Otherwise bbr will complain that it can't route them together.
bbr bank+rom -v vddb 12 vddr 12 vssb 10 vddr 12
will create a bank+rom_f.cp file in the current directory, displaying the routing phases, and adding four supplies, two on the bank side, two on the rom side.
bbr relies on the proper setting of the following enviroment variables :
mbk(1) , scr(1) , MBK_CATA_LIB(1) , MBK_WORK_LIB(1) , MBK_IN_PH(1) , MBK_OUT_PH(1) , MBK_IN_LO(1) .
no physical instance
only one physical instance placed
more than two physical instance placed
There must be two and only two instances in the logical and placement
file in order for bbr to work.
unexpected logical instance `name' instance `x' has physical model `y' and
logical model `z'
The name of the logical and physical instances does not match, so
the two views are inconsistent.
the channel cannot be found from the placement The instance placement is not so that bbr can deduce the channel direction and coordinates. It's probably either a misuse of bbr or a designer error.
cannot route connectors `a' and `b' together The two connectors are logically connected, but do not belong to the channel, so it's not possible to connect them. bbr is not a floorplan router. These connector placement issues must be known before using bbr.
unable to change layer on edges of channel for connector `%s' A hand placed connector is wanted with a given layer in contradiction with the prefered routing layer.
connector `%s' changed to minimum width A hand placed connector is wanted with a given with, but bbr can handle only minimun width wires, but for supplies.
connector `%s' different from channel y, %d != %d, thus ignored connector `%s' different from channel x, %d != %d, thus ignored A hand placed connector is not on the initial channel coordinate.
connector `%s' is not on EAST or WEST face of the figure, thus ignored connector `%s' is not on SOUTH or NORTH face of the figure, thus ignored A hand placed connector is not on an expected face for the router.
no logical external connector equivalent to phisical `%s' A hand placed physical connector has no logical equivalent, thus leading to an inconsistence between the two views.
connector `%s' on a feed through of a different layer A hand placed physical connector has a layer conflicting with the feed through it's placed on.
not enough empty tracks for correct supplies connections In certain cases where the channel is dense and many supplies are wanted, the router may no be able to connected all the supplies together, because of a lack of track. There ain't nothing much to do.
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.