nero(1) Negotiating Router


nero [ -h ] [ -v ] [ -V ] [ -c ] [ -2 ] [ -3 ] [ -4 ] [ -5 ] [ -6 ] [ -L ] [ -G ]
 [ --help ]  [ --verbose ]  [ --very-verbose ]  [ --core-dump ]  [ --local ]  [ --global ] 
 [ -p placement ]  netlist layout


nero is a simple router suited for small academic designs. Currently it can process designs of size up to 4K gates.


A design is considered as big if it contains nets which half perimeter is greater than 800 lambdas. Global routing is used on big designs.

In nero, "global routing" means that the longuests nets are completly routed in a first step with only routing layers numbers 3 & 4. Then the smaller nets are routed with all avalaibles layers. This implies that when global routing is used, the number of routing layers is forced to at least 4. In each step, the nets are routed from the shortest to the longuest with the same routing algorithm.


nero mandatory arguments :

  • netlist : the name of the design, whithout any extention. Please note that unless a -p placement option is given, the file holding the placement is expected to have the same name as the netlist file (short of the extention).
  • layout : the name of the resulting routed layout. Be careful of not giving the same name as the netlist, in this case the initial placement will be silently overwritten.

nero optionnals arguments :

  • -h, --help : print help.
  • -v, --verbose : be verbose.
  • -V, --very-verbose : be unbearably verbose.
  • -c, --core-dump : do not prevent the generation of core dumps in case of a crash. Mostly used during the development stage.
  • -2, -3, -4, -5, -6 : set the numbers of layers used for routing. The default for small designs is 2 and 4 for big ones. When global routing took place, the router will uses at least 4 routing layers.
  • -L, --local : turn off the global routing stage, whatever the size of the design. Be warned that this will enormously slow down the routing process.
  • -G, --global : turn on the global routing regardless of the size of the design.
  • -p placement, --place placement : specify a name for the placement file different from the netlist name.


Route the netlist amd2901_core.vst, using the placement file amd2901_core_p.ap and store the result in amd2901_core_r.

$ export MBK_IN_LO=vst
$ export MBK_IN_PH=ap
$ export MBK_OUT_PH=ap
$ nero -V --place amd2901_core_p amd2901_core amd2901_core_r