Dear Jorge,
1. Spectre sup****ts multithreading from release IC-5.0.33 onwards.
Spectre can break up a large netlist to use a multi processor system.
Spectre sup****ts multithreading on both Multi Processor Machines
(boxes with N single CPU chips) and Multiple Core CPUs (N processors
in a single package, like Dual Cores). The X86 dual core CPUs are the
more popular nowadays and they are really cheap. I would go for the
first option which is better in terms of performance and price as
well. Many PC manufacturors are selling boxes with double sual core
CPUs which is far cheaper than a single quad CPU box. It would be
great to take an X86_64 architecture. It won't speed-up your
simulations but allows you handling bigger files and memory.
Running spectre on multiple CPUs will of course speed-up your
simulation time if your design is dominated by BSIM3v3 and BSIM4
devices. If you are running Spectre on a layout parasitic-extracted
netlist where the R/C elements are more dominant, then the speed-up is
less significant. Anyway, I have learned over my experience that:
1. It is not worth running Spectre on more than 4 CPUs as the speed-up
curve gets flat afterwards.
2. The Max speed you can get with Spectre is 2X (I've seen 2.5X on one
of my designs early this year).
Almost all the modern EDA software are handling the multithreading
feature and I do admit that Calibre is one of the best tools,
multithreading wise, I've seen so far. I have no experience in the
digital world as well.
At the end, please bear in mind that spreading a task over CPUs always
end up by a flat speed-up curve, just because there are certain tasks
which can't be parallelized. My great friend Frederic Battin says:
having two wives won't make a baby in 4.5 months ...
The speed-up curves flatten at 4 CPUs for certain tools and may be up
to 10 cpus for others. Going beyond that limit is not worth it.
BTW, I'm pretty much sure you've already heard of the AMDAHL=92S LAW.
There is a nice link otherwise:
http://en.wikipedia.org/wiki/Amdahl%27s_law


|