# This line will not appear in the chart
clk _~_~_~_~_~
signal ___~~~~___
# This line will not appear in the chart
clk _~_~_~_~_~
signal ___~~~~___
形式は次の通りです。
@[設定値の名称][スペース][設定値]
@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 ___~~~~___
与えるパラメータは、次の通りです。
%[x座標][スペース][y座標][スペース][文字列]
@margin 20
%100 -7 test!
clk _~_~_~_~_~
signal ___~~~~___
@margin 20
%100 -7 test!
clk _~_~_~_~_~
signal ___~~~~___
clk1 _~_~_~_~_~
clk2 __~~__~~__
signal ___~~_____
clk1 _~_~_~_~_~
clk2 __~~__~~__
signal ___~~_____
フォーマットは
信号名 [空白] タイミング定義
の形です。
あるいは、
"信 号 名" [空白] タイミング定義
や
'信 号 名' [空白] タイミング定義
とすることで、信号名に空白を含めることができます。
' ' や " " でくくられた中に ' や " を記述したいときには、 '' や "" のように、2つ重ねて書きます。
clk1 _~_~_~_~_~
"clk 2" __~~__~~__
'clk 3' ~__~~__~~_
"clk""4" ~_~_~_~_~_
'clk''5' ~~__~~__~~
clk1 _~_~_~_~_~
"clk 2" __~~__~~__
'clk 3' ~__~~__~~_
"clk""4" ~_~_~_~_~_
'clk''5' ~~__~~__~~
~~ が上に寄らず、-- と近い高さに来るフォントだとちょっと見にくいですね。。。
clk _~_~_~_~_~_~_~_~_~
data ___~~~~__~~____~~_
enable ___~~~~~~~~~~_____
output ---~~~~__~~__-----
clk _~_~_~_~_~_~_~_~_~
data ___~~~~__~~____~~_
enable ___~~~~~~~~~~_____
output ---~~~~__~~__-----
X は時間が進みます。イメージ的には X= のように働きます。
clk _~_~_~_~_~
data =X=X=X=X=X
clk _~_~_~_~_~
data =X=X=X=X=X
文字列を書いても時間は進みません。
clk _~_~_~_~_~_~_~_~_~
enable ___~~~~~~~~~~_____
output ---=D0=X=D1X=D2X=D3X=D4-----
clk _~_~_~_~_~_~_~_~_~
enable ___~~~~~~~~~~_____
output ---=D0=X=D1X=D2X=D3X=D4-----
スペースも入れられます。同様に ' で括ることもできます。
'"="' -======"A = B"-
'"' -======" ""A"" = ""B"" "-
A -======A-
space -======'A '-
'"="' -======"A = B"-
'"' -======" ""A"" = ""B"" "-
A -======A-
space -======'A '-
文字列は通常センタリングされますが、_<_
あるいは _>_
から始めることで
左寄せ、右寄せにできます
left -======"_<_DATA"-
middle -======DATA-
right -======"_>_DATA"-
left -======"_<_DATA"-
middle -======DATA-
right -======"_>_DATA"-
clk _~_~_~_~_~_~
data =?==XDATA=====X=?=
valid ___~~~~~~___
clk _~_~_~_~_~_~
data =?==XDATA=====X=?=
valid ___~~~~~~___
clk _~_~_~_:...:~_~_~_~_~
data ___~~~~:...:~~____~~_
clk _~_~_~_:...:~_~_~_~_~
data ___~~~~:...:~~____~~_
@w_transient 4
clk _~_~_~_~_~_~_~
rising ___==/=/=~~~~~
falling ~~~==\=\=_____
transition ___=D0=*=D1*=D2*=D3___
@w_transient 4
clk _~_~_~_~_~_~_~
rising ___==/=/=~~~~~
falling ~~~==\=\=_____
transition ___=D0=*=D1*=D2*=D3___
公開当初はこれを「グリッド線」と呼んでいましたが、 あまり適切でないので「ガイド線」と呼ぶことにしました。
clk _~_~_~_~_~_~_~_~_~
data ___~~~~~~~~|____~~_
enable ___[~~~~~~~~~~]_____
output ---~~~~~~~~__-----
clk _~_~_~_~_~_~_~_~_~
data ___~~~~~~~~|____~~_
enable ___[~~~~~~~~~~]_____
output ---~~~~~~~~__-----
@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***
@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
@w_transient 0
clk _~_~_~_~_~_~_~
data ___|~~~~|_______
@w_transient 0
clk _~_~_~_~_~_~_~
data ___|~~~~|_______
clk _~_~_~_~_~_~_~
data ---|===<D1>=X=<D2>==|---
clk _~_~_~_~_~_~_~
data ---|===<D1>=X=<D2>==|---
下記の CDATA の部分です。ソースコード中に CDATA の終了を示す ]]> が現れる場合には、 ]]> にエンコードされます。
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="240pt" height="60pt" viewBox="-10 -10 220 40" version="1.1">
<![CDATA[
clk _~_~_~_~_~_~_~
data ---|===<D1>=X=<D2>==|---
]]>
<g>
<text x="35" y="8.5" text-anchor="end" font-size="10" fill="black" font-family="Helvetica">clk</text>
<path stroke-linecap="round" stroke-width="0.6" stroke="black" fill="none" d="M42,10H52L54,0H64L66,10H76L78,0H88L90,10H100L102,0H112L114,10H124L126,0H136L138,10H148L150,0H160L162,10H172L174,0H184L186,10H196L198,0H208" />
<text x="35" y="28.5" text-anchor="end" font-size="10" fill="black" font-family="Helvetica">data</text>
<text x="101.0" y="28.5" text-anchor="middle" font-size="10" fill="black" font-family="Helvetica"><D1></text>
<text x="149.0" y="28.5" text-anchor="middle" font-size="10" fill="black" font-family="Helvetica"><D2></text><path stroke-linecap="round" stroke-width="0.6" stroke="black" fill="none" d="M42,25H52H54H64H66H76L78,20H88H90H100H102H112H114H124L126,30H136H138H148H150H160H162H172L174,25H184H186H196H198H208M76,25L78,30H88H90H100H102H112H114H124L126,20H136H138H148H150H160H162H172L174,25" />
<path d="M77,-10V40" stroke-linecap="round" stroke-width="0.6" stroke="red" fill="none" />
<path d="M173,-10V40" stroke-linecap="round" stroke-width="0.6" stroke="red" fill="none" />
</g>
</svg>
括弧内が何も指定しないときの既定値です。
図のサイズを拡大・縮小します。 複数指定した場合、最後の値だけが意味を持ちます。
@scale 1.4
clk _~_~_~_~_~_~_~_~
data ==?=X=D0X=D1X=D2X=D3X=?===
@scale 1.4
clk _~_~_~_~_~_~_~_~
data ==?=X=D0X=D1X=D2X=D3X=?===
@scale 0.7
clk _~_~_~_~_~_~_~_~
data ==?=X=D0X=D1X=D2X=D3X=?===
@scale 0.7
clk _~_~_~_~_~_~_~_~
data ==?=X=D0X=D1X=D2X=D3X=?===
チャートの周囲の余白の幅を指定します。
信号名称部分の幅を指定します。 長い名前の左側が切れてしまう場合に設定します。
long_signal_name _~~~~__~~~~______~~___
long_signal_name _~~~~__~~~~______~~___
@w_caption 100
long_signal_name _~~~~__~~~~______~~___
@w_caption 100
long_signal_name _~~~~__~~~~______~~___
信号の単位時間から遷移時間を引いた部分の幅を指定します。 途中で変更すれば異なるクロックドメインを表したりできます。
@w_hold 10
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_hold 22
clock2 ~_~_~_~_~_~
@w_hold 16
clock3 _~_~_~_~_~_~_~_
@w_hold 10
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_hold 22
clock2 ~_~_~_~_~_~
@w_hold 16
clock3 _~_~_~_~_~_~_~_
信号の遷移時間の幅を指定します。 ゼロを指定すると、遷移のエッジは垂直になります。
@w_transient 0
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 2
clock2 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 4
clock3 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 0
clock1 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 2
clock2 _~_~_~_~_~_~_~_~_~_~_~
@w_transient 4
clock3 _~_~_~_~_~_~_~_~_~_~_~
1行の高さを指定します。信号名のフォントサイズもこの値に等しくなります。
@h_line 10
clock _~_~_~_~_~_~_~_~_~_~_~
@h_line 16
clock _~_~_~_~_~_~_~_~_~_~_~
@h_line 10
clock _~_~_~_~_~_~_~_~_~_~_~
@h_line 16
clock _~_~_~_~_~_~_~_~_~_~_~
行間のスペースを指定します。
clock _~_~_~_~_~_~_~_~_~_~_~
data1 _~~~~__~~~~______~~___
@h_space 20
data2 _~~~~__~~~~______~~___
data3 _~~~~__~~~~______~~___
clock _~_~_~_~_~_~_~_~_~_~_~
data1 _~~~~__~~~~______~~___
@h_space 20
data2 _~~~~__~~~~______~~___
data3 _~~~~__~~~~______~~___
信号線のスタイルを svg の path の属性値の形で与えます。 規定値は次の通りです。
stroke-linecap="round" stroke-width="0.6" stroke="black" fill="none"
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 _~~~~__~~~~______~~___
on にするとグリッド線を引きます。 グリッド線の間隔は on にされた時点での単位時間を元に決定されます。
clk1 _~_~_~_~_~_~_~_~_~_~
@w_hold 13
@grid on
clk2 _~_~_~_~_~_~_~_~
clk1 _~_~_~_~_~_~_~_~_~_~
@w_hold 13
@grid on
clk2 _~_~_~_~_~_~_~_~
グリッド線の開始位置、間隔、スタイルを変更します。 offset や step を使ってクロックエッジに合わせたグリッド線を引けます。 最後に指定された値が使われます。
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 _~_~_~_~_~_~_~_~
ガイド線のスタイルを svg の path の属性値の形で与えます。
公開当初はこれを「グリッド線」と呼んでいましたが、 あまり適切でないので「ガイド線」と呼ぶことにしました。 現在、「グリッド線」は別の意味で使われているのでご注意下さい。
@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 _~~~~__[~~~~]______~~___
@highlight_style stroke="green" fill="#8f8" stroke-width="1"
data2 _~~~~__~~~~______[~~]___
data1 _~~~~__[~~~~]______~~___
@highlight_style stroke="green" fill="#8f8" stroke-width="1"
data2 _~~~~__~~~~______[~~]___
不定値部分のスタイルを指定します。
clk _~_~_~_~_~_~_~_~_~_~_~
data1 ====?=*========*=?======
@notcare_style stroke="none" fill="#8f8"
data1 ====?=*========*=?======
clk _~_~_~_~_~_~_~_~_~_~_~
data1 ====?=*========*=?======
@notcare_style stroke="none" fill="#8f8"
data1 ====?=*========*=?======
信号名のフォントを指定します。
@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 _~_~_~_~_~_~_~_~
@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=?===
未実装