( ESNUG 261 Item 2 ) -------------------------------------------- [5/22/97]
From: Larry Fiedler <fiedler@NVidia.COM>
Subject: One User's Initial Impressions On PrimeTime
Dear John,
I know that Synopsys is announcing PrimeTime soon. I was fortunate to be a
beta site for the tool. Here is a letter in case anyone is asking "what is
this thing"?
PrimeTime is a static timing analyzer from Synopsys. It can read the
Synopsys database as is and it is faster and smaller. Instead of dc_shell,
Primetime uses pt_shell. On our design, dc_shell takes 640MB and 2850
seconds whereas pt_shell takes 325MB and 1123 seconds for the same task.
It also has some better MCP controls. (We use Synopsys for timing
verification.) PrimeTime is a very good fit for us as it can use the
Synopsys database as is.
The design is the RIVA128, a 3D multimedia accelerator for AGP and PCI
based computers. It is in a 0.35um process and has 3.5M transistors
or 216k instances. As could be expected with a design this large,
there are several timing issues. There are 3 major and 1 minor clock
domains, The major clock domains, such as pci_clk, and pixel_clock each
have versions of themselves that are skewed and maybe half frequency.
In addition there is clock gating, asynchronous and synchronous internal
rams and a CAM with half clock timing.
Our design methodology is that designers supply a netlist and a false
path file. The false path files use variables like "context_cell",
"context" and rely on "current_instance"; they look something like:
set_false_path -from Fanout_fbi_g_busy -to context + "dp/lvl0/ctag/*"
set_false_path -from Fanout_fbi_g_busy -to context + "dp/lvl0/aintp/*"
An explanation of all this is perhaps worthy of another letter. (The idea
is to capture the false path information once.)
In addition to being faster and smaller, pt_shell caught a few half cycle
paths better than dc_shell. It also has a better clock gating detect and
reporting mechanism. The tool itself can handle better MCP's like "-through"
although we did not use this. It also has a faster characterize capability.
pt_shell is different than dc_shell in that it uses TCL, a better
language to be sure, but nonetheless different. There is a translator
that works well. But in the end, I took the route of building a
database with the false paths and timing constraints from dc_shell and
merely reading in the database with pt_shell. The db had to be created
for flattening and SDF purposes and this kept the same-but-different
files from proliferating.
- Larry Fiedler
NVidia
|
|