SMOKE(10.1)                                           SMOKE(10.1)

     NAME
          smoke - static circuit checks

     SYNOPSIS
          cda/smoke [ -l load ] [ -abcmnpsxL ] files

     DESCRIPTION
          Smoke reads and checks a circuit and reports simple errors
          like typechecking in C.

          The circuit description language is cdl(10.6). The files are
          usually a circuit description file(s) made with gnet(10.1)
          and/or cdmglob(10.1) and the pins files with .tt lines like
          those given to cdmglob(10.1). Files with net lists come
          first, pins files come second.

          The .tt line contains one character per pin on the chip
          according to the following table:

               1    open collector output
               2    totem pole ttl output
               3    3-state output
               i    input
               p    pull-up (for 1)
               0    1 and p
               4    3 and i
               5    1 and i
               6    1 and p and i
               j    p and i
               k    d and i
               9    voltage source
               v    vcc sink (.vb 1)
               w    .vb 2 sink
               x    .vb 3 sink
               y    .vb 4 sink
               z    .vb 5 sink
               g    ground
               n    no connect (use as tie point prohibited)
               8    analog output
               a    analog input
               A    analog input/output pin
               s    switch contact
               t    terminator
               b    PAL undeclared pin
               I    current source (not supported)
               J    current sink (not supported)
               D    + driver
               d    - driver
               R    + receiver
               r    - receiver

     Page 1                       Plan 9             (printed 12/2/22)

     SMOKE(10.1)                                           SMOKE(10.1)

               P    pulldown
               .    no type

          The various options for smoke are

          -a     Don't print out errors on analog nets.

          -b     Don't print out errors on nets with bidirectional
                 pins.

          -c     Print out the entire circuit with type declarations
                 by each pin (but does not do any checking.

          -l     takes an optional loading count; only nets with more
                 loads will be flagged for load complaints.

          -m     Don't complain about lone pins on macro signals.

          -n     Turn on `complete' nets; when errors occur, nets will
                 be completely printed out (when used with -x).

          -p     Turn on paranoid mode; smoke normally doesn't com-
                 plain if there are any undeclared pins in a net.  Now
                 it will.

          -s     Ignore multiple source messages.  Not recommended for
                 general use.

          -x     Turn on extra (excessive) mode.  Offending nets will
                 be printed out in gory detail; very useful for debug-
                 ging the nets it complains about.

          -L     Ignore lonely pins with names beginning with $ (local
                 names).

     BUGS
          In smoke, the last definition of the chip is the one that
          counts.

     Page 2                       Plan 9             (printed 12/2/22)