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 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.