TIMEPIC(1) TIMEPIC(1) NAME timepic - troff preprocessor for drawing timing diagrams SYNOPSIS timepic [ files ] DESCRIPTION Timepic is a pic(1) and troff(1) preprocessor for drawing timing diagrams. Timepic code is contained between .TPS and .TPE lines: .TPS width row-height statement-list .TPE There are two types of timepic statements: variable defini- tions and signal definitions. Variables are defined with the syntax var = expr; where expr is an arithmetic expression involving floating- point constants and previously defined variables. Currently only basic arithmetic (+, -, * and /) is supported. Signals are defined with the syntax name events ; where name is a name that must be quoted unless it's a valid symbol. Events is a list consisting of the following things: +o The current time can be set using an arithmetic expres- sion, that may be followed by a symbol interpreted as a unit. For instance if you defined μs = 1000; then 1μs and (x+2)*3μs are both valid time expressions. Note that x+2μs is interpreted as (x+2)μs which may or may not be intended behaviour. A time expression can be preceded by + to mark it as relative to the previous time. The first time is zero. A time expression can be followed by a symbol name in square brackets. The symbol is then defined with the time. +o An expression of the form :name creates an `event' at the current time, changing the value of the signal to name. name can be a symbol (which is not evaluated), a numerical constant or a string in single quotes. The Page 1 Plan 9 (printed 2/9/25) TIMEPIC(1) TIMEPIC(1) values 0, 1, x and z have special meaning, unless they are quoted. +o A pipe symbol | draws a vertical dashed line at the next event. +o An expression of the form expr{events} evaluates the expression, rounded to the nearest integer, and then repeats the events the specified number of times. It is illegal if the expression evaluates to a negative number. It is also illegal to use absolute times in the events list. It is however legal to nest this con- struct. EXAMPLES .TPS 6 0.4 c=5; clk +5{:1 +.5c:0 +.5c}; data :x 2.3c:DQ 4c|:x; valid :0 2.3c:1 4c:0; ready :0 3.6c:1 4c:0; .TPE FILES /sys/src/cmd/timepic.c SEE ALSO troff(1), pic(1) BUGS Yes. Page 2 Plan 9 (printed 2/9/25)