@highlight_style

data1 _~~~~__[~~~~]______~~___
@highlight_style stroke="green" fill="#8f8" stroke-width="1"
data2 _~~~~__~~~~______[~~]___
data1 _~~~~__[~~~~]______~~___ @highlight_style stroke="green" fill="#8f8" stroke-width="1" data2 _~~~~__~~~~______[~~]___ data1 data2

@h_line

@h_line 10
clock _~_~_~_~_~_~_~_~_~_~_~
@h_line 16
clock _~_~_~_~_~_~_~_~_~_~_~
@h_line 10 clock _~_~_~_~_~_~_~_~_~_~_~ @h_line 16 clock _~_~_~_~_~_~_~_~_~_~_~ clock clock

@notcare_style

clk _~_~_~_~_~_~_~_~_~_~_~
data1 ====?=*========*=?======
@notcare_style stroke="none" fill="#8f8"
data1 ====?=*========*=?======
clk _~_~_~_~_~_~_~_~_~_~_~ data1 ====?=*========*=?====== @notcare_style stroke="none" fill="#8f8" data1 ====?=*========*=?====== clk data1 ? ? data1 ? ?

neglects comment line

# This line will not appear in the chart
clk _~_~_~_~_~
signal ___~~~~___

# This line will not appear in the chart clk _~_~_~_~_~ signal ___~~~~___ clk signal

quoted captions

clk1 _~_~_~_~_~
"clk 2" __~~__~~__
'clk 3' ~__~~__~~_
"clk""4" ~_~_~_~_~_
'clk''5' ~~__~~__~~
clk1 _~_~_~_~_~ "clk 2" __~~__~~__ 'clk 3' ~__~~__~~_ "clk""4" ~_~_~_~_~_ 'clk''5' ~~__~~__~~ clk1 clk 2 clk 3 clk"4 clk'5

signal levels

clk _~_~_~_~_~_~_~_~_~
data ___~~~~__~~____~~_
enable ___~~~~~~~~~~_____
output ---~~~~__~~__-----
clk _~_~_~_~_~_~_~_~_~ data ___~~~~__~~____~~_ enable ___~~~~~~~~~~_____ output ---~~~~__~~__----- clk data enable output

@signal_style

data1 _~~~~__~~~~______~~___
@signal_style stroke-linecap="round" stroke-width="2" stroke="green" fill="none"
data2 _~~~~__~~~~______~~___
data1 _~~~~__~~~~______~~___ @signal_style stroke-linecap="round" stroke-width="2" stroke="green" fill="none" data2 _~~~~__~~~~______~~___ data1 data2

empty line

clk1 _~_~_~_~_~
clk2 __~~__~~__

signal ___~~_____
clk1 _~_~_~_~_~ clk2 __~~__~~__ signal ___~~_____ clk1 clk2 signal

@signal_font

clk _~_~_~_~_~_~_~_~
@signal_font fill="red" font-family="Helvetica"
data ==?=X=D0X=D1X=D2X=D3X=?===
clk _~_~_~_~_~_~_~_~ @signal_font fill="red" font-family="Helvetica" data ==?=X=D0X=D1X=D2X=D3X=?=== clk data ? D0 D1 D2 D3 ?

@h_space

clock _~_~_~_~_~_~_~_~_~_~_~
data1 _~~~~__~~~~______~~___
@h_space 20
data2 _~~~~__~~~~______~~___
data3 _~~~~__~~~~______~~___
clock _~_~_~_~_~_~_~_~_~_~_~ data1 _~~~~__~~~~______~~___ @h_space 20 data2 _~~~~__~~~~______~~___ data3 _~~~~__~~~~______~~___ clock data1 data2 data3

all combinations

@w_transient 4
# :-~_=/\X*
0 _~_~_~_~_~_~_[~_~_]~_

1 :::-:~:_:=:/:\:X:*:
2 -:---~-_-=-/-\-X-*-
3 ~:~-~~~_~=~/~\~X~*~
4 _:_-_~___=_/_\_X_*_
5 =:=-=|~=_===/=\=X=*=
6 /:/-/~/_/=///\/X/*/
7 \:\-\~\_\=\/\\X\*\
8 X:X-X~X_X=X/X\XXX*X
9 *:*-*~*_*=*/*\*X***
@w_transient 4 # :-~_=/\X* 0 _~_~_~_~_~_~_[~_~_]~_ 1 :::-:~:_:=:/:\:X:*: 2 -:---~-_-=-/-\-X-*- 3 ~:~-~~~_~=~/~\~X~*~ 4 _:_-_~___=_/_\_X_*_ 5 =:=-=|~=_===/=\=X=*= 6 /:/-/~/_/=///\/X/*/ 7 \:\-\~\_\=\/\\X\*\ 8 X:X-X~X_X=X/X\XXX*X 9 *:*-*~*_*=*/*\*X*** 0 1 2 3 4 5 6 7 8 9

text in timeline

clk _~_~_~_~_~_~_~_~_~
enable ___~~~~~~~~~~_____
output ---=D0=X=D1X=D2X=D3X=D4-----
clk _~_~_~_~_~_~_~_~_~ enable ___~~~~~~~~~~_____ output ---=D0=X=D1X=D2X=D3X=D4----- clk enable output D0 D1 D2 D3 D4

space in timeline


clk _~_~_~_:...:~_~_~_~_~
data ___~~~~:...:~~____~~_
clk _~_~_~_:...:~_~_~_~_~ data ___~~~~:...:~~____~~_ clk ... data ...

@w_caption

@w_caption 100
long_signal_name _~~~~__~~~~______~~___
@w_caption 100 long_signal_name _~~~~__~~~~______~~___ long_signal_name

justified text in timeline

left -======"_<_DATA"-
middle -======DATA-
right -======"_>_DATA"-
left -======"_<_DATA"- middle -======DATA- right -======"_>_DATA"- left DATA middle DATA right DATA

quoted text in timeline

'"="' -======"A = B"-
'"' -======" ""A"" = ""B"" "-
A -======A-
space -======'A '-
'"="' -======"A = B"- '"' -======" ""A"" = ""B"" "- A -======A- space -======'A '- "=" A = B "  "A" = "B"  A A space A      

@grid off

clk1 _~_~_~_~_~_~_~_~_~_~
@w_hold 13
@grid on
clk2 _~_~_~_~_~_~_~_~
@grid off
clk1 _~_~_~_~_~_~_~_~_~_~ @w_hold 13 @grid on clk2 _~_~_~_~_~_~_~_~ @grid off clk1 clk2

@grid on

clk1 _~_~_~_~_~_~_~_~_~_~
@w_hold 13
@grid on
clk2 _~_~_~_~_~_~_~_~
clk1 _~_~_~_~_~_~_~_~_~_~ @w_hold 13 @grid on clk2 _~_~_~_~_~_~_~_~ clk1 clk2

@guide_style

@guide_style stroke-width="0.6" stroke="black"
data1 _~~~~__|~~~~______~~___
@guide_style stroke-width="0.6" stroke="#0CC"
data2 _~~~~__~~~~______|~~___
@guide_style stroke-width="0.6" stroke="black" data1 _~~~~__|~~~~______~~___ @guide_style stroke-width="0.6" stroke="#0CC" data2 _~~~~__~~~~______|~~___ data1 data2

filling in not care

@h_line 30
@h_skip 20
@w_transient 5
@w_caption 60
test =/=?\=\=?/=X=?X=*?=*=X=?-=?= =?X
@h_line 30 @h_skip 20 @w_transient 5 @w_caption 60 test =/=?\=\=?/=X=?X=*?=*=X=?-=?= =?X test ? ? ? ? ? ? ?

escape special chars in text

clk _~_~_~_~_~_~_~
data ---|====X===|---
clk _~_~_~_~_~_~_~ data ---|===<D1>=X=<D2>==|--- clk data <D1> <D2>

@grid params

clk1 _~_~_~_~_~_~_~_~_~_~
@w_hold 13
@grid on
@grid_offset 1
@grid_step 2
@grid_style stroke-width="0.3" stroke="#0f0"
clk2 _~_~_~_~_~_~_~_~
clk1 _~_~_~_~_~_~_~_~_~_~ @w_hold 13 @grid on @grid_offset 1 @grid_step 2 @grid_style stroke-width="0.3" stroke="#0f0" clk2 _~_~_~_~_~_~_~_~ clk1 clk2

guide and highlight

clk _~_~_~_~_~_~_~_~_~
data ___~~~~~~~~|____~~_
enable ___[~~~~~~~~~~]_____
output ---~~~~~~~~__-----
clk _~_~_~_~_~_~_~_~_~ data ___~~~~~~~~|____~~_ enable ___[~~~~~~~~~~]_____ output ---~~~~~~~~__----- clk data enable output

@w_transient

@w_transient 0
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 2
clock2 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 4
clock3 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 0 clock1 _~_~_~_~_~_~_~_~_~_~_~ @w_transient 2 clock2 _~_~_~_~_~_~_~_~_~_~_~ @w_transient 4 clock3 _~_~_~_~_~_~_~_~_~_~_~ clock1 clock2 clock3

change config

@signal_style stroke-linecap="round" stroke-width="2" stroke="green" fill="none"
clk _~_~_~_~_~
signal ___~~~~___
@signal_style stroke-linecap="round" stroke-width="2" stroke="green" fill="none" clk _~_~_~_~_~ signal ___~~~~___ clk signal

bus signal

clk _~_~_~_~_~
data =X=X=X=X=X
clk _~_~_~_~_~ data =X=X=X=X=X clk data

not care 2

@w_transient 4
clk _~_~_~_~_~_~_~
rising ___==/=/=~~~~~
falling ~~~==\=\=_____
transition ___=D0=*=D1*=D2*=D3___
@w_transient 4 clk _~_~_~_~_~_~_~ rising ___==/=/=~~~~~ falling ~~~==\=\=_____ transition ___=D0=*=D1*=D2*=D3___ clk rising falling transition D0 D1 D2 D3

@w_hold

@w_hold 10
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_hold 22
clock2 ~_~_~_~_~_~
@w_hold 16
clock3 _~_~_~_~_~_~_~_
@w_hold 10 clock1 _~_~_~_~_~_~_~_~_~_~_~ @w_hold 22 clock2 ~_~_~_~_~_~ @w_hold 16 clock3 _~_~_~_~_~_~_~_ clock1 clock2 clock3

@caption_font

@scale 1.5
clk _~_~_~_~_~_~_~
@caption_font fill="red" font-family="Times"
@signal_style stroke="red" fill="none"
data _~~~~______~~_
@scale 1.5 clk _~_~_~_~_~_~_~ @caption_font fill="red" font-family="Times" @signal_style stroke="red" fill="none" data _~~~~______~~_ clk data

free text

@margin 20
%100 -7 test!
clk _~_~_~_~_~
signal ___~~~~___
@margin 20 %100 -7 test! clk _~_~_~_~_~ signal ___~~~~___ test! clk signal

@w_transient0

@w_transient 0
clk _~_~_~_~_~_~_~
data ___|~~~~|_______
@w_transient 0 clk _~_~_~_~_~_~_~ data ___|~~~~|_______ clk data

not care

clk _~_~_~_~_~_~
data =?==XDATA=====X=?=
valid ___~~~~~~___
clk _~_~_~_~_~_~ data =?==XDATA=====X=?= valid ___~~~~~~___ clk data ? DATA ? valid

@scale

@scale 1.4
clk _~_~_~_~_~_~_~_~
data ==?=X=D0X=D1X=D2X=D3X=?===
@scale 1.4 clk _~_~_~_~_~_~_~_~ data ==?=X=D0X=D1X=D2X=D3X=?=== clk data ? D0 D1 D2 D3 ?