Professional Documents
Culture Documents
2003 StabilityAnalysis
2003 StabilityAnalysis
2003 StabilityAnalysis
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/233736106
READS
456
1 author:
Howard Andrew Landman
24 PUBLICATIONS 92 CITATIONS
SEE PROFILE
Introduction
This is a written version of a web seminar
that I gave for Magma Design Automation
on April 30, 2003. Since there is no voiceover, this version contains more detail. It
also has more data points for both test cases.
You can see the original web seminar at
http://webevents.broadcast.com/cmp/wcs/de
tail.asp?event_id=5877
Outline
Purpose & Methodology
Results
Test Case A - control logic
Test Case B - CPU core
Conclusions
Purpose
This study looked at the stability or
predictability of Magma's complete RTL to
layout flow (Blast RTL + Blast Fusion).
To do this, I reused and extended techniques
that I used earlier on synthesis tools.
Previous studies
In SNUG 1998 I presented a similar study
of Synopsys Design Compiler called
Visualizing the Behavior of Logic Synthesis
Algorithms. (Available on deepchip and
elsewhere.) It explains the methodology in
detail and even includes code fragments.
Ambit BuildGates studied but not published
Methodology
Vary delay constraints while keeping RTL
etc. constant
Record input Constraint and output Delay
and Area
Plot
D as function of C
A as function of C
D vs A (banana curve)
Methodology (continued)
The basic idea is to test the stability of a
tool or design flow by slightly varying one
of its input parameters, and looking at how
the outputs change.
Here we vary the delay constraints (desired
clock period), but other choices are also
possible.
Stability != Goodness
Stability is not the same as goodness.
A tool could reliably give bad results; it
would then be stable but not good.
However, a very good tool must be stable,
or its randomness will prevent it from
finding the best solution much of the time.
Aside on Benchmarks
Some people might be tempted to treat this
study as a comparative benchmark of
Magma vs. Synopsys. This would be utterly
wrong for so many reasons that it would take
several foils to list them all. No comparable
study of the latest and greatest Synopsys
tools has been published. (But it would be
interesting to see one, would it not?)
Test Case A
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0
5
Constraint (nS)
10
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0
5
Constraint (nS)
10
4.0
3.5
3.0
2.5
2.0
1.5
1.0
0
5
Constraint (nS)
10
3.0
2.8
2.6
2.4
2.2
2.0
1.8
1.6
1.4
1.2
1.0
0.5
0.7
0.9
1.1
1.3
1.5
Constraint (nS)
1.7
1.9
2.1
2.3
2.5
3.0
2.8
2.6
2.4
2.2
1.8
1.6
1.4
1.2
1.0
0.5
0.7
0.9
1.1
1.3
1.5
Constraint (nS)
1.7
1.9
2.1
2.3
2.5
3.0
2.8
2.6
2.4
2.2
1.8
1.6
1.4
1.2
1.0
0.5
0.7
0.9
1.1
1.3
1.5
Constraint (nS)
1.7
1.9
2.1
2.3
2.5
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0
5
Constraint (nS)
10
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0
5
Constraint (nS)
10
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
0
5
Constraint (nS)
10
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0
0.9
0.8
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
Constraint (nS)
1.4
1.5
1.6
1.7
1.8
1.9
2.0
1.8
1.7
1.5
1.4
1.3
1.2
1.1
1.0
0.9
0.8
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
Constraint (nS)
1.4
1.5
1.6
1.7
1.8
1.9
2.0
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0
0.9
0.8
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
Constraint (nS)
1.4
1.5
1.6
1.7
1.8
1.9
2.0
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0
0.9
0.8
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
Constraint (nS)
1.4
1.5
1.6
1.7
1.8
1.9
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
1.0
1.5
2.0
2.5
Delay (nS)
3.0
3.5
4.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
1.0
1.5
2.0
2.5
Delay (nS)
3.0
3.5
4.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
1.0
1.5
2.0
2.5
Delay (nS)
3.0
3.5
4.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
1.0
1.5
2.0
2.5
Delay (nS)
3.0
3.5
4.0
0.87
0.86
0.85
0.83
0.82
0.81
0.80
0.79
0.78
0.77
1.7
1.8
1.9
2.0
2.1
Delay (nS)
2.2
2.3
2.4
2.5
Conclusions A
Severely overconstraining BlastRTL /
BlastFusion is a bad idea!
Area gets worse, run time gets worse
Timing does not get better!
Test Case B
11
10
0
0
Constraint (nS)
10
11
11
10
0
0
Constraint (nS)
10
11
11
10
0
0
Constraint (nS)
10
11
6.0
5.5
5.0
4.5
4.0
3.5
3.0
3.0
3.2
3.4
3.6
3.8
4.0
Constraint (nS)
4.2
4.4
4.6
4.8
5.0
6.0
5.5
5.0
4.5
4.0
3.5
3.0
3.0
3.2
3.4
3.6
3.8
4.0
Constraint (nS)
4.2
4.4
4.6
4.8
5.0
6.0
5.5
5.0
4.5
4.0
3.5
3.0
3.0
3.2
3.4
3.6
3.8
4.0
Constraint (nS)
4.2
4.4
4.6
4.8
5.0
7.6
7.5
7.4
7.3
7.2
7.1
7.0
3.0
3.5
4.0
4.5
5.0
Constraint (nS)
5.5
6.0
6.5
7.0
Hokusai (1760-1849)
7.6
7.5
7.4
7.3
7.2
7.1
7.0
3.0
3.5
4.0
4.5
5.0
Delay (nS)
Constraint
(nS)
5.5
6.0
6.5
7.0
7.6
7.5
7.4
7.3
7.2
7.1
7.0
3.0
3.5
4.0
4.5
5.0
Delay (nS)
Constraint
(nS)
5.5
6.0
6.5
7.0
Conclusions B
Slightly overconstraining BlastRTL /
BlastFusion can be a good idea!
If you are missing timing by a little bit, then
tightening constraints may help
Has chance of working in range of < 5%
If missing by more, fix your RTL!
Summary
Computers and (some) EDA tools are now
fast enough that studies involving many
complete layouts are feasible.
The Magma design flow gives reasonably
consistent results as delay constraints vary.
However, asking it to go much faster than
possible will not produce good results.