VCD 波形出力
Celox は GTKWave や Surfer などのツールで波形を確認するための VCD(Value Change Dump) ファイルを出力できます。
基本的な使い方
シミュレータ作成時に vcd オプションで出力先ファイルパスを指定します:
typescript
const sim = Simulator.fromSource(SOURCE, "Top", {
vcd: "./dump.vcd",
});記録したいタイミングで sim.dump(timestamp) を呼び出します:
typescript
sim.dut.a = 10n;
sim.dump(0); // t=0 の状態を記録
sim.dut.a = 20n;
sim.tick();
sim.dump(10); // t=10 の状態を記録
sim.dispose(); // ファイルをフラッシュして閉じるWARNING
VCD ファイルは dispose() を呼ぶまで書き出されません。終了時は必ず dispose() を呼ぶか、try/finally ブロックで確実に実行してください。
タイムベースシミュレーションでの使い方
Simulation では sim.time() で現在時刻を取得して dump() に渡します:
typescript
const sim = Simulation.fromSource(SOURCE, "Top", {
vcd: "./dump.vcd",
});
sim.addClock("clk", { period: 10 });
sim.reset("rst");
sim.dump(sim.time());
sim.dut.en = 1n;
sim.runUntil(100);
sim.dump(sim.time());
sim.dispose();関連資料
- テストの書き方 -- Simulator・Simulation のパターン。