





























































                   The Nelsis IC Design System                  1






MKSLS(1ICD)             Nelsis Release 3              MKSLS(1ICD)



NNNNAAAAMMMMEEEE
     mksls - update nelsis database from *.sls and *.fun sources.

SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
     mksls [-h] [-m] [topcell]

DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
     _M_k_s_l_s searches the current project directory for *.sls and
     *.fun files that have been changed since the last time they
     where compiled. It then calls _s_l_s__m_k_d_b or _f_u_n_c__m_k_d_b,
     whatever's appropriate, to compile a source file that is out
     of date. If _t_o_p_c_e_l_l is specified, _m_k_s_l_s calls _s_l_s__e_x_p for
     this top level cell and then executes ``sls topcell
     topcell.cmd''.  _M_k_s_l_s aborts if an error occurs in any of
     the subprocesses it spawns.

OOOOPPPPTTTTIIIIOOOONNNNSSSS
        -h    Print a help screen, then exit.
        -m    Print a script on stdout that can be processed by
              _m_a_k_e(1) to obtain the required recompilations,
              then exit.

RRRREEEESSSSTTTTRRRRIIIICCCCTTTTIIIIOOOONNNNSSSS
     The compiler _s_l_s__m_k_d_b requires sls source files to be com-
     piled in a bottom up fashion. (You can get around this with
     the aid of the "external" statement, see the Sls User
     Manual.) Consequently, the order in which _s_l_s__m_k_d_b is called
     sometimes is important. _M_k_s_l_s has limited support for this
     restriction, see the entry "mk.slsfiles" in the FILES sec-
     tion below.

     _M_k_s_l_s does not really know what a Nelsis database looks
     like. It stores timestamps of the compilation dates in its
     own private directory "mk.dates", see the entry "mk.dates"
     in the FILES section below. As a consequence, if you compile
     a file "by hand" --for instance by typing "sls_mkdb
     myfile.sls"-- then the mk.dates directory does not get
     updated and _m_k_s_l_s still assumes that "myfile.sls" needs a
     recompile. Fortunately, this never causes the database to be
     out of date, but of course it may waste a little cpu time.
     The bottom line: use _m_k_s_l_s consistently.

FFFFIIIILLLLEEEESSSS
     The following files provide the user of _m_k_s_l_s with a way to
     override _m_k_s_l_s's default actions and arguments for sub-
     processes. None of these files is obligatory. Basically you
     can forget about them.

      mk.slsfiles      This file contains the names of the
                       files that need to be processed by
                       _s_l_s__m_k_d_b. The order in which the
                       filenames appear in mk.slsfiles is the



2                  The Nelsis IC Design System






MKSLS(1ICD)             Nelsis Release 3              MKSLS(1ICD)



                       order that _m_k_s_l_s obeys while
                       spawning subprocesses for recompilation.
                       Default is "*.sls" (alphabetical order).
      mk.funfiles      This file contains the names of the
                       files that need be processed by
                       _f_u_n_c__m_k_d_b. The order in which the
                       filenames appear in mk.funfiles is the
                       order that _m_k_s_l_s obeys while
                       spawning subprocesses for recompilation.
                       Default is "*.fun".
      mk.topcell       Contains the name of the top level cell.
                       Default is the cell name supplied on the
                       command line, see the description above.
      mk.slsargs       Contains extra args for _s_l_s__m_k_d_b.
                       Defaults to "-s".
      mk.funargs       Contains extra args for _f_u_n_c__m_k_d_b.
                       The default is "-s -Cg -CI$INCLUDE",
                       where $INCLUDE is substituted with the
                       contents of the file mk.include (see
                       below).
      mk.expargs       Contains the argument to _s_l_s__e_x_p.
                       Defaults to "-g".
      mk.include       Contains directory names to be searched
                       for include files. Include files must
                       have a suffix ".h".  The default is to
                       have no include directories.
      mk.dates         This is the directory that mksls creates
                       to keep track of the time a file was
                       last processed. If you remove this
                       directory --or entries in it--
                       _m_k_s_l_s assumes that the missing
                       timestamp is the beginning of the epoch,
                       thus enforcing (re)compilation of that
                       particular file.

EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT
      _M_k_s_l_s inspects the following environment variables:

      SLS_MKDB         The program to call when a *.sls file is
                       out of date. Default is "sls_mkdb".
      FUNC_MKDB        The program to call when a *.fun file is
                       out of date. Default is "func_mkdb".
                       Commonly, this is set to "dofunc", a
                       front-end to func_mkdb that enables
                       debugging of the functional sources with
                       a source-level debugger.
      SLS_EXP          The program called to expand the top
                       level cell. Default is "sls_exp".


SSSSEEEEEEEE AAAALLLLSSSSOOOO
     sls_mkdb(1ICD), func_mkdb(1ICD), make(1).



                   The Nelsis IC Design System                  3






MKSLS(1ICD)             Nelsis Release 3              MKSLS(1ICD)



AAAAUUUUTTTTHHHHOOOORRRR
     Paul Stravers.  Please send bug reports and suggestions to
     ocean@donau.et.tudelft.nl




















































4                  The Nelsis IC Design System



