

  <refentry id="nero">
  <?dbhtml filename="man_nero.html">

  <refmeta>
    <refentrytitle>nero</refentrytitle>
    <manvolnum>1</manvolnum>
    <refmiscinfo>ASIM/LIP6</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname> nero </refname>
    <refpurpose> Negotiating Router </refpurpose>
  </refnamediv>


  <refsynopsisdiv>
    <cmdsynopsis>
      <command>nero</command>
        <arg>-h</arg>
        <arg>-v</arg>
        <arg>-V</arg>
        <arg>-c</arg>
        <arg>-2</arg>
        <arg>-3</arg>
        <arg>-4</arg>
        <arg>-5</arg>
        <arg>-6</arg>
        <arg>-L</arg>
        <arg>-G</arg>
        <sbr>
        <arg>--help</arg>
        <arg>--verbose</arg>
        <arg>--very-verbose</arg>
        <arg>--core-dump</arg>
        <arg>--local</arg>
        <arg>--global</arg>
        <sbr>
        <arg>-p <replaceable>placement</replaceable></arg>
        <arg choice="req"><replaceable>netlist</replaceable></arg>
        <arg choice="req"><replaceable>layout</replaceable></arg>
    </cmdsynopsis>
  </refsynopsisdiv>


  <refsect1>
    <title> Description </title>

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


  <refsect2>
    <title> Global routing </title>

    <para> A design is considered as <emphasis>big</emphasis> if it
    contains nets which half perimeter is greater than 800 lambdas.
    Global routing is used on big designs.
    </para>
    <para> In <literal>nero</literal>, "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.
    </para>

  </refsect2>


  </refsect1>

  <refsect1>
    <title> Invocation </title>

    <para> <literal>nero</literal> mandatory arguments&nbsp;:
    <itemizedlist>
      <listitem>
        <para> <filename>netlist</filename>&nbsp;: the name of
        the design, whithout any extention. Please note that unless a
        <userinput>-p</userinput> <filename>placement</filename> option
        is given, the file holding the placement is expected to have the
        same name as the netlist file (short of the extention).
        </para>
      </listitem>
      <listitem>
        <para> <filename>layout</filename>&nbsp;: 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.
        </para>
      </listitem>
    </itemizedlist>
    </para>

    <para> <literal>nero</literal> optionnals arguments&nbsp;:
    <itemizedlist>
      <listitem>
        <para> <userinput>-h</userinput>, <userinput>--help</userinput>&nbsp;:
        print help.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-v</userinput>, <userinput>--verbose</userinput>&nbsp;:
        be verbose.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-V</userinput>, <userinput>--very-verbose</userinput>&nbsp;:
        be unbearably verbose.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-c</userinput>, <userinput>--core-dump</userinput>&nbsp;:
        do not prevent the generation of core dumps in case of a crash.
        Mostly used during the development stage.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-2</userinput>,
               <userinput>-3</userinput>,
               <userinput>-4</userinput>,
               <userinput>-5</userinput>,
               <userinput>-6</userinput>&nbsp;: 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.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-L</userinput>, <userinput>--local</userinput>&nbsp;:
        turn off the global routing stage, whatever the size of the design.
        Be warned that this will enormously slow down the routing process.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-G</userinput>, <userinput>--global</userinput>&nbsp;:
        turn on the global routing regardless of the size of the design.
        </para>
      </listitem>
      <listitem>
        <para> <userinput>-p</userinput> <filename>placement</filename>,
        <userinput>--place</userinput> <filename>placement</filename>&nbsp;:
        specify a name for the placement file different from the netlist
        name.
        </para>
      </listitem>
    </itemizedlist>
    </para>
  </refsect1>


  <refsect1>
    <title> Example </title>

    <para> Route the netlist <literal>amd2901_core.vst</literal>, using
    the placement file <literal>amd2901_core_p.ap</literal> and store the
    result in <literal>amd2901_core_r</literal>.
    <screen>
$ <userinput>export MBK_IN_LO=vst</userinput>
$ <userinput>export MBK_IN_PH=ap</userinput>
$ <userinput>export MBK_OUT_PH=ap</userinput>
$ <userinput>nero -V --place amd2901_core_p amd2901_core amd2901_core_r</userinput>
    </screen>
    </para>

  </refsect1>


  <refsect1>
    <title>See Also</title>

    <para>
      <citerefentry>
        <refentrytitle>MBK_IN_LO</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>MBK_OUT_LO</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>MBK_IN_PH</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>MBK_OUT_PH</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>ocp</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>ocr</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>druc</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>,
      <citerefentry>
        <refentrytitle>cougar</refentrytitle>
        <manvolnum>1</manvolnum>
      </citerefentry>
    </para>

  </refsect1>


  </refentry>
