Posted by fred sendig on May 19, 2010
Running analog regressions in a production chip design flow is hard enough without having to sort through the results by hand. While the majority of the thousands of simulations are probably good, the risk of missing a problem is the risk of a bad tape out (and then you have to fill out a lot of paperwork, there are more questions and it’s generally not a good thing).
Last year, we introduced a new feature in CustomExplorer to help out with this tedious manual process.
Called “Batch Waveform Compare”, this feature automates the comparison of simulations runs in batch and alerts the user to the problems.
Waveform Compare can be used early on in the design phase. Designers can compare waveforms from RTL, down through to the device level and make sure that your design is converging on the spec. The final use of Waveform Compare tests the results of extracted parasitic simulations to help quickly isolate problems.
And it’s fast… One of our early adopters of Batch Waveform Compare saw their week of manual time required to “eyeball” 100 analog waveforms drop to just 15 minutes of Waveform Compare run time.
The user has complete control over the comparison algorithms. Tolerances for the x-axis (be it time, frequency…) can be set independently from the y-axis (be it voltage, current…) and Waveform Compare does the rest.
Here is a partial example of a rules file for waveform compare:
; Global Parameters v_tolerance 5mv i_tolerance 1ma a2d_threshold 2.5v ; Aliases Alias stable_period “start=5ns, stop=16ns” ; Rules Rule v_check begin Master gold2.dat Step 0.1ns v_tolerance 1mv v_reltol -0.01 end rule mono_chk begin monotonicity_check end … ; Checks Check begin target “t1.dat t2.dat” signal “*” time_range “0ns, 6ns” rule “initial_v_check” target “t1.dat t2.dat t3.dat” signal “s1, s2, s3” time_range stable_period rule “v_check” end The result of this rule file applied against the simulation results $> sx –compare compare.rules *** loading waveform file gold2.dat … *** *** loading waveform file t1.dat … *** *** loading waveform file t2.dat … *** [COMPARE] master file : ‘gold2.dat’ [COMPARE] master file : ‘t1.dat’ # comparing signal ‘v(in1’ x-axis master 0|test/IN1 1.0500E-08 1.650000   1.1000E-08 3.300000   # end of difference list …
Waveform compare is a powerful tool in CustomExplorer and can be used to significantly improve design regression productivity. Have fun with it.
Dwayne strives to be a cool dad and he’s an EDA geek. He also pretends to be a Southerner although he’s really a California Yankee living in North Carolina.