( DAC 03 Item 27 ) ----------------------------------------------- [ 01/20/04 ]
Subject: Monterey Sonar & Dolphin & Calypso & IC Wizard
EVOLUTION: The good news for Monterey is that they just became profitable
for the first time. No, this wasn't as DAC'03; happened January 2004. That
one fact has been crucial to Monterey's survival. In the physical synthesis
horserace they've had and maintained a respectable 4th place versus Synopsys,
Cadence, and Magma -- but 4th place isn't too hot a long term strategy. The
other good news I've noticed is that Mentor's stock price has gone up. This
sweetly establishes a nice foundation for Mentor to acquire Monterey, thus
helping both companies exploit their individual strengths.
On the technical front, Monterey introduced Calypso, a beefed up floorplaner
that's also something of what Gary Smith of Dataquest likes to call a
"Silicon Virtual Prototyping" tool. Basically Calypso gives pretty good
estimates of how your chip will end up. Their old Aristo IC Wizard is
being phased out.
I'm actually just finishing up another chip with Dolphin that I don't
think any other tool could have handled.
- Guntram Wolski of Tau Networks
I have not used IC Wizard yet, but I am going to evaluate it. As you
know, the floorplan quality is very important for routeability, timing
closure and SI. One of the possibilities, I would like to see the
ability of this tool.
- Osamu Yoshimura of Yoshimura
While marketing still stresses physical synthesis, it appears that both
Synopsys and Cadence now realize that its capacity and performance
limitations may not be solved in the foreseeable future. During DAC'03
the two companies promoted flows that are remarkably similar to the good
old "RTL to gates and gates to place gates" flows. The placement
engine's ability to perform local logic optimizations during placement
is becoming the most common practice of "Physical Synthesis".
Cadence: First Encounter's rapid prototyping capabilities have been
extended to handle final implementation - including detailed placement
and optimization. Cadence is promoting Silicon Perspective's "Amoeba"
placement as the preferred placer. SoC Encounter reads gate-level
netlists as input and, according to Cadence, can place and optimize most
designs. The Ambit-PKS engine is only proposed for relatively small
blocks within which the Amoeba placer cannot meet timing.
Cadence has recently purchased Get2Chip synthesis technology in yet
another attempt to compete with Synopsys in this area.
Synopsys introduced an improved version of Design Compiler. Its
recommended flow is DC for "RTL to gates" and PhysOpt/Astro for
placement optimization and routing. Since this two stage flow allows
for non-Synopsys backend tools, a significant increase in the DC list
price needn't take us by surprise...
Prototyping and floorplanning:
Prototyping is overtaking physical synthesis as the foremost word in the
backend area:
Cadence: SoC Encounter prototyping continues to be Cadence's flagship
capability for backend solutions.
Monterey introduced their prototyping tool, Calypso. It is essentially
a tighter integration of the old Sonar block level planning tools with
Aristo's floorplanner.
Magma has also added prototyping to its marketing arsenal; emphasis
being placed on hierarchy flattening, partitioning and clustering
capabilities. "Glass Box" is an interesting approach for representing
routed sub-blocks at the top-level. Only relevant routed paths form the
block pins to the first FF being visible to the top-level analysis
tools.
Synopsys has selected, as the preferred solution in the PhysOpt/Astro
flow, Avanti's Jupiter over FloorPlan Compiler. The Synopsys answer to
Cadence prototyping is PhysOpt's -quick option.
Icinergy: a small company providing a high-level floorplanning tool for
early capture, analysis and optimization of designs. The tool supports
early die size estimation and has some nice editing capabilities.
InTime & Tera Systems provide tools for RTL exploration & optimization.
InTime reads the RTL description and maps it into a netlist with "work
function" as leaf cells. This mapping is much faster than traditional
synthesis thus allowing fast and early exploration of design placability
and timing. The quick turnaround allows for easy RTL optimizations and
what-if trails. During the last year InTime has enhanced its "Time
Planner" tool. The tool now supports more traditional floor planning
tasks such as pin optimization and budgeting.
Tera Systems tool is mapping the RTL design to TeraGates, a set of
predefined macro cells. The Tera tool allows the frontend designer to
explore backend characteristics such as timing, routability, etc.
without the need to actually synthesis and place & route the design.
- [ An Anon Engineer ]
My initial impression of the Dolphin/Calypso demo was mostly tainted by
the presenter. He was not able to answer my questions. Furthermore, he
was not able to present the tool well enough, for me to judge the tool
properly and fairly.
- Romeo Kharileh of SiArt
Monterey Design says they now have 70-100 tapeouts under their belt, but
still can't talk about the early ones. They have integrated their
IC Wizard floorplanner into Sonar and have created their own database.
They like it better than OpenAccess because they say OpenAccess has yet
to define timing data, which theirs has. They emphasized starting
physical design before RTL coding. They now support flip chip designs.
Incentia now sells a physical synthesis tool that they try to make as
similar as possible to Synopsys.
- John Weiland of Intrinsix
We have been keeping current on the top four tools over the last year.
We did demo all of the tools last year, and got refreshers on Magma and
Monterey at DAC. We are currently using both Synopsys and Cadence for
real jobs.
I still prefer Cadence Nano Encounter over Astro/Apollo. Although you
can get very good results with Astro, it still is flaky, still requires
scripting and therefore causes schedule delays. It is also slower than
Nano Encounter. Regarding PhysOpt et. al., some of our customers do
really like it and it does help for certain paths to fixed location
cells (e.g. RAMs). However our experience is that a fast place and
route gives better data and is better than teaching a front end guy the
nuances of layout. I see PhysOpt as another example of great Synopsys
marketing driving the market direction.
Regarding Monterey, we haven't directly used it since last year. At
that point, it needed way too much compute resources for a given design
size, and had many "blue screen" type of failures when it couldn't
finish. Although it is multi-threaded, we don't have a big compute farm
to dedicate to every route. The floorplanning is pretty good, and the
hierarchy support is better than other tools we've used. It has an easy
to use user interface. If it were getting better market traction, I
would use it as a second choice to Nano Encounter.
We didn't get very far using Magma, as it was hard to set up and they
were not enthusiastic about helping us learn about it. Second hand info
is that it does a great job when it works, but that a backup tool is
recommended. It is targeted to front-end types rather than P&R guys.
The floorplanning is OK, but not tops.
- [ An Anon Engineer ]
We got involved very early-on with both Monterey & Magma, as both seemed
to be offering interesting alternatives to the Cadence flow we were
using. At that time (circa. 1998), Dolphin had some serious memory
problems, so 64-bit and many many gigs of memory were required just to
do a "normal" size ASIC. Magma's features and stability weren't exactly
inspiring either. That said, for one reason or another (read: political
not technical) Magma got favorable reviews within the company and so
Monterey was pushed out. We spent God knows how much on Magma licenses,
which have pretty much sat gathering dust for the past 4 years. I think
we have used them on maybe 2 or 3 designs, plus a few macros, that's
about it. Magma marketing, bless their little hearts, hype and bleed
these tape-outs to death.
Currently I think that Monterey is the ONLY company that offers a decent
automatic block floorplanner and prototyping tool for hierarchical
designs, in the form of Calypso (IC Wizard + Sonar). We currently use
SoC & First Encounter in-house and I feel it is one seriously hyped
piece of software. FE has it's place, and it is improving, but it's too
expensive for what we use it for and it's hierarchical floorplaning and
prototyping features sometimes leave much to be desired. This concept
of run everything flat then partition it based on the results will run
out of steam (or at least memory) pretty soon. :)
We currently run First Encounter in non-timing driven mode just to get a
basic floorplan (due to correlation issues we don't use TD), but we
still have to use PKS to do the real P&R work in the blocks. Therefore
I think that Calypso/IC Wizard could provide be a better solution in
this area, as it seems to be built correctly to handle the push-pull
requirements of a hierarchical flow.
The part that impresses me the most is the ability to automatically
generate multiple floorplans for exploration. The automatic block
sizing & aspect ratio adjustment taking into consideration internal
macros is also very powerful. We regularly have in excess of 150 hard
macros (RAMs) in our larger ASICs and creating the floorplan is a time-
consuming, boring task. Most floorplanners make a terrible job at
automatically placing macros and large blocks, so it is refreshing to
see a product that looks like it can do a good job.
The tcl API also looks nice, although their unified data model between
ICW & Sonar will not be available till later in the year. We tend to
script a lot for automation purposes and I find FE's tcl interface very
poor, especially when compared to the likes of PKS, PhysOpt/DC and
PrimeTime, which give pretty much full access to the data model. The
Monterey API however, looks as though it will be complete and useful.
So that's all I had for the good. What about the bad? My biggest
concern is the amount of time it is taking Monterey to get this product
out. The Calypso concept was announced at DAC'02 and it is still not
available (although due soon I believe). Monterey doesn't seem to be
the darling of the industry-press, so they really need to get this out
to prove the critics wrong and spark some interest. They also need to
start promoting themselves a little more, as the Magma marketing machine
never seems to stop (hype or no hype).
Regarding Dolphin, I have the feeling it has fallen into the depths of
mediocrity from a very promising start. It looks solid enough and seems
to offer pretty much what everyone else does in terms of placement and
physical optimization technology, i.e. nothing new and earth shattering.
However, the biggest problem area I believe is the routing algorithm,
which I have heard is slow & is a bit of a resource hog. As I mentioned
before, we use PKS along with Wroute/NanoRoute, which we've recently
used to tape out a couple of 11M+ Gate ASICs, with no major problems.
The latest versions of PKS are stable and we've accumulated enough
scripts and knowledge to feel comfortable with it! So in short, I don't
see anything in Dolphin that would be a major incentive to change at
this time.
With more funds and a few more resources things might be different, at
least we would maybe consider it, but that isn't going to change in the
short term. :(
One last comment: Cadence's whole-hearted push of First Encounter inside
SoC Encounter for providing final quality P&R is scary! It is just me,
or does the GUI look like it was designed by a 5-year old?
- [ An Anon Engineer ]
We are users of IC Wizard on one hand (even before it is part of
Monterey) and we use it for top-level prototyping in our hierarchical
SOCs. We are also users of Sonar/Dolphin for block implementation or
even for flat chip implementation. It's not our main tool, but it is
gaining 'market share' in our division.
- Olivier Florent of STmicroelectronics
We've been using Monterey's Dolphin & IC Wizard for more than a year and
a half already. We have no experience with Calypso since it has not
been released yet.
IC Wizard:
1. We used IC Wizard as a floor-planner and are very satisfied with it.
Being able to create the floorplan, place ports on blocks, according to
the connections, see all the connections between blocks and modify them
accordingly in a very easy way, this helps us a lot and save time.
2. We did not use it with the timing engine.
3. It works very fast.
4. It is a flexible tool to manage and control by scripts and by manual
operations.
5. You can see graphically the connectivity among blocks (bundled nets)
and ports (flight lines). You can run routing to estimate the
congestion and assure your treks planning is correct and you can see
congestion graphically.
6. It is possible to include all sub-scripts in one and enable/disable
part of them according to the working stage.
7. It is possible to start planning with no physical blocks; you can
read netlist and define size of soft blocks, or the tool will
automatically assume the size and create soft blocks, then you place
blocks manually, or by coordinates through a script, or automatically by
the tool, then the tool automatically places ports.
8. It enables to run operations in all hierarchical levels in one
session.
9. You can place blocks in top level of the chip and run ports placement
according to connectivity, then enter into each and every block and
place its sub-blocks and their ports, according to upper level ports
location.
10. You can export DEF files with blocks and ports size and placements -
to be imported into Dolphin tool.
11. When Dolphin is done you can import LEF files with physical size and
ports placement and update the planning with the real actual components.
12. You can place ports on top level according to lower level ports.
13. You can create several planning variations and keep in database, you
also can check the comparing table to see which one is the best.
14. Some special manual layout editing options are missing such as array
placement.
Dolphin:
1. The tool closes timing, routing, fixes electromigration, antenna; it
really does it all in one pass and till now, we are satisfied with
results.
2. Built-in extractor/timing engine is fast and very accurate including
cross-talk influence.
3. Cross-talk prevention capabilities -- couldn't see it actually
working, but when running timing analysis with cross-talk option
activated, you can see the difference in long path timing.
4. Still doesn't support all aspects of the design rules for 0.13 um
process such as "width & length dependent spacing" (they promise it will
be supported in next release 3.0). But the number of DRC's we had to
fix manually was small (zero to few tens) and it was quite easy using
the saved checkpoint and the Seascape (Dolphin's GUI).
5. In the previous release of 2.1 we have achieve a max clock skew of
60 ps in our blocks, in the current version 2.5 the clock skew that we
have achieved in similar blocks was around 100 ps. So in previous
release the clock skew results was better, and there was automatic
clock-tree electromigration fix, but it is missing in new release. So
we are using the old engine with the new release.
6. The tool is very good for block level design, less for very big
blocks (long run time & congestion).
7. For big designs with Top Level version 2.1 was not good enough, so
some top-level capabilities were added in 2.5 release and more are plan
for 3.0, if working hierarchically, bottom-up.
8. Good user interface and ECO capabilities. You can see the schematic
of your netlist and manipulate it easily.
The tool is under improvement all time, so you can unexpectedly run into
small bugs, but the response time of the support people is very good and
you can expect these bugs to be fixed in a relatively short time and get
the fixed version before official release.
- Gideon Paul of Tera Chip
Disclaimer: I have not laid a hand on any of Monterey's design tools.
The Monterey Design FAEs demonstrated their Sonar on-site on our 0.13 um
mixed signal SoC. It should be noted that we had taped out the 0.18 um
version of that design. I took the same taped-out RTL, resynthesized it
with the 0.13 um libraries (standard cell and memory), and scaled the
AFE (analog front-end). In the 0.18, we had three physical blocks and a
handful of cells at the top, I/O pads and the footprint of the AFE. We
kept the same strategy for the 0.13 run.
In 0.18, the top level floorplanning (including PAD/pin placement) was
manually developed in Magma. The block level macro placement was a
combination of manual and automatic routines. After a few hours in
0.13, Sonar came up with a top level floorplan awfully similar to that
of 0.18. I am not sure how to interpret that since the PAD/pin
placement was done automatically by Sonar and did not look similar to
the one in 0.18. We then completed prototyping by implementing power
routing and running initial placement (top level and hierarchical blocks
all at the same time). Sonar showed we met timing. It also provided IR
drop analysis. The entire experiment took 2.5 days, most of which was
spent to get the data (netlist, libraries) prepared.
The next step, the FAE's took the largest of the 3 top level blocks for
an off-site detailed P&R in Dolphin. I am not sure how long that took,
but again the QoR was acceptable according to the tool. This was
without pushing Dolphin to improve QoR as the purpose was to evaluate
the tool. I verified the non-SI timing with PrimeTime. The reports
turned out to be within almost the same as Dolphin results.
Pros:
It was good to see the floorplan the same as 0.18. Hardly took any time
to figure out whether timing and power were good enough to move to the
next step. Block level P&R yielded acceptable (potentially improvable)
results. Timing commands and reports are almost exactly PrimeTime-like
non-SI timing in Dolphin is within a small percentage of PrimeTime.
Cons:
There is no correlation between Dolphins SI results and those in
PrimeTime-SI. There are not too many options to reduce the number of
coupling capacitances (especially those two small to care for). There
are not too many options to control the clock tree in terms
of layers of buffering. Sonar is a good prototyping tool, but one would
need a Dolphin license to assure the QoR.
One quick note: I'm also in the process of evaluating PhysOpt Expert. I
had used PhysOpt extensively at my former job but never PhysOpt Expert.
I took the same block that we feed to Dolphin for P&R to PhysOpt Expert
for placement and clock tree synthesis. First I used physopt -mpc as I
didn't have a floorplan, then used the GUI to replace the hard macros
(all 80 of them), reran physopt (no -inc) from scratch, inserted clock
trees. The QoR (size, timing, clock tree timing) was amazingly similar
to that in Dolphin.
- Massoud Sammak of Entropic Communications
This is difficult to answer as I've thought about it. I spent a lot of
time with both Monterey and Magma folks over the week. I have not used
either tool, but have been a major user of Encounter as a floorplanning
tool for over a year now. Unfortunately, I know *all* about Encounter's
limitations, but they have a good marketing presentation at DAC also.
So my impressions of Monterey's tools are based on DAC stuff *only*. I
did get to spend an hour 1-on-1 with the engineer from Tau Networks who
did one of their presentations, and he was definitely sold on the
product. He seemed to be well supported for bug fixes and
timely/stable/frequent code drops.
In general, I liked almost all of the concepts Monterey addressed and
claimed they were doing with Dolphin and Calypso, but it seemed to me as
if they are playing catch up with Magma in respect the area of
hierarchical design.
The Monterey folks seemed *way* too aggressive with me over the course
of the week which led me to believe they are hurting for customers (my
impression only).
I liked their financial model of one "access" fee for unlimited tool use
plus a big payout upon tape release so that they are in the boat with
you until are successful(of course turn-on of the silicon would be a
much better determiner of success).
In the end, I would choose Magma over Monterey probably 2-to-1 if I
were looking to totally revamp my tool flow.
- [ An Anon Engineer ]
As you know, we are using Monterey for quite some time now. We are
seeing constant improvement of the tool on all fronts (performance,
features and QoR). I have recently had the chance to compare its
results to Synopsys PhysOpt flow and to Cadence flow as a result of a
subcontracting job we did. I have no doubt that the QoR of Monterey is
better than these flows. I had never compared it to Magma.
Monterey's main strength is a unified and consistent implementation
environment from netlist to GDSII. You don't have to mess with
correlating different tools, different timing engines and different RC
estimators. It runs out of a single powerful database that gives you
full access and flexibility. Its TCL extension language is very
powerful.
While you might define the above as "happy-happy, joy-joy Gosh-I-so-
love-this-tool", after 7 successful tape outs in the last 18 months, I
don't feel that I need to apologize for using Monterey. It is a full
production worthy tool.
- Nir Sever of Zoran
|
|