上波形と下ソースが対応しています

//I2Cフラッシュメモリデモ AT24C02 : WR

$Data
// SDA, SCL
1 1
1 1
1 1

//=== Device ADR ===========================

1 1 //START
1 1
0 1
0 1

0 0
0 0
0 0 //Device ADR 101000
1 0 // 1  SDA変化位置はSCLのL側中間
1 1    // SCL変化単位1 H
1 1    // SCL変化単位2 H
1 0    // SCL変化単位3 L
0 0 // 0   SCL変化単位4 L
0 1
0 1
0 0
1 0 // 1
1 1
1 1
1 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
0 0 // WR
0 1
0 1
0 0 *I // ACK 入力
0 0 *I
0 1 *I
0 1 *I
0 0
0 0

//=== WORD ADR 00000000 =================
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0
0 0
0 1 // 0
0 1
0 0 *I // ACK 入力
0 0 *I
0 1 *I
0 1 *I
0 0
0 0

//=== WR DATA 01000010 ===================

//DATA
0 1 // 0
0 1
0 0
1 0 // 1
1 1
1 1
1 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
0 0 // 0
0 1
0 1
0 0
1 0 // 1
1 1
1 1
1 0
0 0 // 0
0 1
0 1
0 0 *I // ACK 入力
0 0 *I
0 1 *I
0 1 *I
0 0
0 0

//=======================================

0 1 //STOP
0 1
1 1
1 1

$END
1 1

 

ソースをテキストエディタで作成

プログラム不要、単に 1, 0 をベタ書きすればその通りに入出力できる


【概略
SDA、SCL、を作成しています (20分程で作りました)

左のように横行が同期している1CLK分になります
1,0 を書いた行を並べていけばそのままのデータとして作成されます
// の後ろはコメントです。他にコマンドなど文法がありますがここでは説明を省きます

テキストエディタは使い慣れたものを自由に選択できます
テキストエディタは本アプリと同時に起動できます
テキストを修正したら、本アプリの画面中の、”
Vie” ボタンをクリックすると即波形表示に反映されます


【形式イメージ】
HDLのシミュレーション用に良く使われる入力ファイルの形式をイメージして設計しました
シミュレーション用ファイルがあれば流用できるところもあると思います


【補足】

SCLのHLの変化単位を4行で作成しているのは、I2Cの規定で、SDA変化位置がSCLのL側中間とあるためです。それを守れば何行で作成しようと自由です

外部データの取り込み
シリアルデータパターンなどいちいち入力すると大変なので、外部バイナリファイルを登録して、順に取り出して自動パラシリ変換して挿入することもできます