SAIF & VCD Interoperability
To ensure seamless integration with existing industrial verification environments, Axiom produces standard IEEE 1364 Value Change Dump (.vcd) and Synopsys SAIF 2.0 (.saif) files.
1. IEEE 1364 Value Change Dump (VCD)
Axiom's VcdWriter formats all netlist state transitions with standard VCD definitions:
- Header:
$date,$version,$timescale 1 ps. - Hierarchy: Hierarchical
$scope moduleand$upscopeblocks. - Variables: Multi-bit
$var wire [width] [symbol] [name]declarations. - Initial Values:
$dumpvarsstate dump at. - Transitions: Interleaved timestamp markers (
#1000) with binary and hex bus transitions.
VCD files generated by Axiom can be opened directly in:
- GTKWave
- Surfer
- AMD Vivado Waveform Viewer
- Sigrok / PulseView
2. Switching Activity Interchange Format (SAIF 2.0)
Accurate power estimation in Vivado's report_power requires high-confidence simulation vectors rather than static vectorless estimates.
Axiom produces valid SAIF 2.0 files containing switching probabilities:
text
(SAIFILE
(SAIFVERSION "2.0")
(DIRECTION "backward")
(DESIGN "counter")
(DATE "Axiom HDL Engine")
(VENDOR "Axiom")
(PROGRAM_NAME "Axiom Simulator")
(PROGRAM_VERSION "0.1.0")
(DIVIDER /)
(TIMESCALE 1 ps)
(DURATION 50000)
(INSTANCE counter
(NET
(clk (T0 25000) (T1 25000) (TX 0) (TZ 0) (TC 99))
(rst_n (T0 1000) (T1 49000) (TX 0) (TZ 0) (TC 1))
(count (T0 12000) (T1 38000) (TX 0) (TZ 0) (TC 48))
)
)
)Loading into AMD Vivado
In Vivado Tcl:
tcl
open_run impl_1
read_saif -strip_path /tb_top/u_dut -file power.saif
report_power -file post_sim_power.rptVivado automatically updates its dynamic switching activity matrices from Axiom's measured SAIF toggle counts.