← MarkNext の紹介へ戻る

Markdown に WaveDrom のタイミング図とビット配置を書く

MarkNext は、当社が現行仕様調査のために自社制作した Windows 用の文書編集環境です。 販売も配布もしていません。このページでは、そこに備えたタイミング図とビット配置の記法を説明します。

古いシステムの調査では、流れ図でも状態遷移図でも書けないものが出てきます。 信号がいつ変わるか、電文のどのビットに何が入っているか。 これらは文章で書くと読み違えられ、表で書くと桁の並びが見えません。 MarkNext では、短いテキストから図として描けます。

NOTATION書き方

囲みは wavedrom の一つだけです。中身に書いたものが、図の種類を決めます。

signal

タイミング図(波形)になります。信号の順序と前後関係を示します。

reg

ビット配置の図になります。電文やレコードの桁割りを示します。

assign

論理図になります。条件の組み合わせを示します。

中身は WaveJSON という、引用符を緩めた JSON です。鍵に引用符は要りません。

```wavedrom
{ signal: [
  { name: 'CLK',     wave: 'p......' },
  { name: 'キー入力', wave: '01..0..' },
  { name: '応答',     wave: '0.1..0.' }
], head: { text: 'キー押下から応答まで' } }
```

wave は一文字が一区間です。 p はクロック、01 は低と高、 . は直前の状態を続ける、x は不定、 2 以降の数字は値を表します。

SAMPLES見本

いずれも、上の記法から描かれたものです。値は架空です。

保存操作の時間関係(タイミング図)

キー入力から保存要求、DB更新、応答までの順序を示したタイミングチャート
キーを押してから応答が返るまでの前後関係。 どの信号がどの区間で立ち、どこで重なるかを、文章ではなく並びで示せます。

受注電文のビット配置(32ビット)

種別4ビット、状態3ビット、異常1ビット、データ16ビット、CRC8ビットからなる32ビットの電文ヘッダの図
下位ビットから順に、種別・状態・異常・データ・CRC。 桁の幅がそのまま図の幅になるので、表で書くより取り違えが起きにくくなります。

USESどこで使うか

現行仕様調査でこの記法が要るのは、次のような場面です。

いつ変わるかを示す

  • シリアル通信・バス通信の順序
  • PLC や制御装置の入出力
  • 割り込みの前後関係
  • 装置の起動と停止の手順
  • 実測やログから復元した時間関係

どの桁に何が入るかを示す

  • 独自プロトコルの電文
  • フラグを詰めた一バイト
  • COBOL や C の構造体
  • 固定長レコードの桁割り
  • ハードウェアのレジスタ
描画はこの端末の中で完結します。外部のサービスへ内容を送りません。 書き方を間違えた場合は、どこで読めなくなったかが誤りとして出ます。 納品前の文書健全性チェックでも同じ判定になるので、描けていない図を載せたまま渡すことはありません。

Q&Aよくある質問

タイミングチャートを Markdown の文書に載せられますか
MarkNext では載せられます。コードブロックに WaveJSON を書くと、信号の波形として描かれます。 流れ図や状態遷移図では書けない「いつ変わるか」を、文章と同じ文書の中に置けます。
通信電文のビット配置を図にできますか
できます。同じ囲みの中に signal ではなく reg を書くと、 ビット配置の図になります。電文のヘッダ、フラグ領域、固定長レコードの桁割り、レジスタを、桁の並びのまま示せます。
図の種類ごとに別の記法を覚える必要がありますか
ありません。囲みは wavedrom の一つだけで、中身に書いたものが図の種類を決めます。
描画のために外部へ送られますか
送られません。描画は端末の中で完結します。
書き方を間違えるとどうなりますか
中身は JSON5 として読まれます。読めない場合はどこで止まったかが誤りとして示され、 納品前の文書健全性チェックでも同じ判定になります。

バーコードと QR コードの記法を見る →  MarkNext の紹介へ戻る

仕様書のないシステムの調査・技術文書整備について相談する

現行仕様の復元、移行前調査、運用資料の整備、閉域環境での文書制作についてご相談いただけます。

相談してみる →