( ESNUG 408 Item 1 ) -------------------------------------------- [03/13/03]
From: Roger Boates <domain=st blot gone user=roger.boates>
Subject: Nassda HSIM Runs Show That Avanti Astro Is Too Noise Pessimistic
Hi, John,
I know you like Astro war stories, so I thought I'd share with you how we
discovered that it was too pessimistic on noise via our Nassda HSIM runs.
Our group was designing a DSM DSP. We were using Avanti Astro to control
and report crosstalk. Since Astro only monitors the maximum coupled voltage
and not the pulse width or area (energy), we decided to use a circuit
simulator to check the results and look for other possible problems.
Coupled noise from adjacent wires, aggressors, is a function of the percent
of capacitive coupling to the victim wire, the rise/fall time of the
aggressor drivers and the resistance of the victim's driver. We found that
about 25 percent of the victims had total percent coupling over 50 percent
in a block of 30K gates.
Since Mentor's Eldo, an HSPICE-like simulator, simulated ten cycles of a
related block one-tenth the size in 190 hours, we decided to use Nassda's
HSIM, which has a larger capacity and can run faster. Ten cycles of our
30K-gate block ran for 10 hours on a Linux server. It had a 1.5 GHz CPU
and 2 GB of memory, although we were only able to access 1 GB.
We used extracted parameters from Avanti's Star-RCXT program to add the
capacitances to our gate-level netlist. We set all of the resistance
values to 0 to improve the HSIM run time. This compromised our accuracy,
but was sufficient to indicate trouble spots.
Before we ran HSIM, we had to have .measure statements in the run deck
to find the maximum voltage on each internal net during each clock cycle.
We did this by writing a SKILL program to identify all of the nets in
our Cadence-based schematic and to write a separate file using these net
names in .measure statements. This amounted to 300K .measure statements
for every ten cycles of simulation. We then used a .include statement
to add the file of .measure statements to the HSIM deck.
Many of the HSIM jobs ran out of memory during the post-processing of
the .measure statements after the simulation had finished, so we had to
re-run those jobs with an HSIM post-processing option, -fsdb, to get the
results. This added 30 to 45 minutes extra run time because the job had
to be run on a slower Solaris server.
After each simulation we grep'ed and sorted the .measure output file to
get maximum voltages for noise spikes which were between 0.1 and 1.0 volts.
At approximately one cycle per hour and one license, we were limited to
a maximum of 168 cycles per week. We were still able to detect and
evaluate many voltage bumps.
After comparing the HSIM results with the Astro results, we concluded
that the Astro voltage spike results were quite conservative based on
the input parameters that we were using. For example, Astro reported a
voltage spike of 0.317 volts on a net, whereas, the Hsim simulation
reported 0.107 volts. This particular disparity was because there were
three aggressors and Astro had modeled them as occurring simultaneously
in the same timing window. The HSIM simulation had shown that the
aggressors were distributed over a 500 pSec. interval.
The HSIM simulations that we ran contributed to the decision that our
noise model, although conservative, was too pessimistic. We modified
our noise model which improved our Astro results.
- Roger Boates
STMicroelectronics San Diego, CA
|
|