I'm considering buying a new motherboard/processor combo for faster synthesis

R

Randy Thelen

I'm considering buying a new motherboard & processor to speed up my
Xilinx synthesis process.

My synthesis system is Xilinx Web PACK 6.1i running on Windows XP on a
machine with a 1.1GHz AthlonXP & 256MB of 266 DDR memory.

My synthesis times are sluggish. I'm strongly considering upgrading
to a faster CPU with faster RAM (specifically, the Athlon 64 3000+
with 400MHz DDR DRAM). I'm curious if you folks have experience with
upgrading your hardware for the purpose of speeding up synthesis work.
What processor & motherboard combination worked well for you?

I'm not interested in a religious war of Intel vs. AMD.

I'm just curious, in your experience, is the synthesis process made
faster by:

1) faster memory
2) faster CPU
3) faster frontside bus
4) more L2 cache

Yeah, yeah, all of the above. Sure.

Fundamentally, I'm curious about personal experiences with upgrades.
For example, if you upgraded your processor and/or motherboard, what
sort of build speed increase did you get?

Assume, for the purpose of this exercise, that the system isn't paging
to disk (if it were, more memory would be the answer to that problem).
I've used the Performance Monitoring tools to watch paging activity,
avg. disk queue lengths, and CPU % utilization. Paging is low (except
as the tools progress from one phase to another). Disk queue lengths
are low. CPU % utilization is pegged at 100%.

The sorts of things that can cause CPU utilization include:

1) The memory takes too long to respond to CPU requests (high memory
latency)
2) The CPU takes too long to execute the instruction stream (low
instruction-per-cycle count)
3) The front side bus doesn't have the bandwidth to satisfy the
demands of the CPU (for reading or writing data)
4) The CPU is thrashing with a small cache, over comitting the front
side bus/memory subsystem

I am also quite aware that there are folks with lesser hardware than
I've described doing amazing things. I understand, and I think that's
great. Usually I'm of the opinion to buy last year's technology to
save memory (yes, and I make purchases at the Good Will). However, in
this particular situation, I'm willing to throw a chunk of dough at
the problem. This is my personal hobby and I work on my FPGA projects
at home. My wife and I just had a baby and the little guy demands
(and gets!) a great deal of time. Therefore, each minute I get with
the development tools is important. Thus, I want to increase the
number of builds I get per evening (reduced build times means more
builds per unit time).

One last note, if there are other strategies folks have used for
reducing build times, I'm interested to hear them. Ideally, there's a
solution that involves no outlay of cash. :) My wife notes that
many applications are packaged with performance tuning notes.
Alternatetively, there may be another development package that I
should be using.
 
A

Allan Herriman

I'm just curious, in your experience, is the synthesis process made
faster by:

1) faster memory
2) faster CPU
3) faster frontside bus
4) more L2 cache

Yeah, yeah, all of the above. Sure.

You forgot
5) HDL Source code that is easier to synth.

Instantiation of library (unisim) components may be slightly faster
than inference. This may slow down your simulations, and may not be
worth the effort.

6) Options that reduce the amount of work the synthesiser has to do.

Try turning on keep_hierarchy, which may stop some cross module
boundary optimisations.
Also try compiling your modules separately. (You will need a makefile
or equivalent to coordinate this.) Then when you make a one line
change to a module, you don't have to recompile everything.

7) A better synthesis tool.
e.g. Synplify.



Also, read the comp.arch.fpga archives where this sort of thing is
discussed.

Regards,
Allan.
 
O

Oleg

Hi,
I agree with Allan on points that he add execpte on Synplify to be the
best tool ever because it depends : better for what? i found out that
Xilinx ISE XST gives better synthesis result and have more control
options...but thats another discution.

For your question regarding a PC hardware, i did the same and i am
realy satisfied of the execussion speed (a significant speed
improvement). Try a CPU of above 2 Ghz with FSB 800 Mhz, RAM 400 DDR
of above 512 Mb and a good motherboard that accepte these features and
you will see the difference. Other thing that we have to keep in mind
: 1-dont run multiple software at the same time if you are already
runing for exemple a synthesis of a big design or a long simulation.
2- When you lunch many applications even if you lunch theme and
execute them separatly, after some time you PC start slowing
significantly even if you have a last year technologie, the solution
to this probleme is to reboot or logout and then login. I dont know
myself why this is happening and i would like some one to tel me how
to do it otherwise (no reboot or logutin) because its time consuming
and harmful for PC???

Oleg_ca
 
R

Randy Thelen

I agree with Allan on points that he add [...]

Good point. Thanks Allan, for your comments.
For your question regarding a PC hardware, i did the same and i am
realy satisfied of the execussion speed (a significant speed
improvement). Try a CPU of above 2 Ghz with FSB 800 Mhz, RAM 400 DDR
of above 512 Mb and a good motherboard that accepte these features and
you will see the difference.

Thanks for these words of encouragement. It turns out I'll get an
opportunity to try out an AMD64 in the next week. I'll post my
results including specifics of the machines compared. (I'll also look
for a fast Pentium 4, too.)
Other thing that we have to keep in mind
: 1-dont run multiple software at the same time [...]
2- When you lunch many applications even if you lunch theme and
execute them separatly, after some time you PC start slowing
significantly

Good point. This can lead to paging. Paging can be the death of a
system. Windows NT, 2000, and XP are better at this than any of the
Windows 95, 98 and Millenium variants. But, a system under a great
deal of load (programs vying for memory in which to run but being
paged quickly) can bring a system to its knees fast. Or, can cause it
to appear to halt.

In most cases the system will ultimately recover. But, in some cases
"ultimately" may mean more time than remains before the Sun explodes
:)
[...] The solution
to this probleme is to reboot or logout and then login. I dont know
myself why this is happening and i would like some one to tel me how
to do it otherwise (no reboot or logutin) because its time consuming
and harmful for PC???

You are probably causing your system to page excessively. A way to
verify this is to open up the Performance Monitoring tools and set it
up. Then, begin your synthesis and open up other apps. If the paging
numbers start to go up you'll know the source of your pain. Either
kill the new applications or logout.

You can get to the performance monitoring tools in Windows XP by going
to Control Panels, opening up Administrative Tools, and then selecting
Performance Short Cut. Inside of the performance application you'll
see 3 numbers: paging, avg. Disk queue length, and % processor. You
want to see Pages/sec be 0 or near zero. If the number goes up fast,
stop whatever you're doing. If the number pegs the top of the chart,
you've got a real problem. The Avg. Disk Queue length is tightly
coupled with disk operations. The synthesis process doesn't use the
disk much. Just when reading/writing results from various processes.

What you really want to see is no paging, little to no disk activity
and 100% processor.

And then you want it all to happen in about 3 seconds. ;-)

Thanks all for the responses. I'll post my results as they come in.

-- Randy
 
K

Kai Harrekilde-Petersen

I agree with Allan on points that he add [...]

Good point. Thanks Allan, for your comments.
For your question regarding a PC hardware, i did the same and i am
realy satisfied of the execussion speed (a significant speed
improvement). Try a CPU of above 2 Ghz with FSB 800 Mhz, RAM 400 DDR
of above 512 Mb and a good motherboard that accepte these features and
you will see the difference.

Thanks for these words of encouragement. It turns out I'll get an
opportunity to try out an AMD64 in the next week. I'll post my
results including specifics of the machines compared. (I'll also look
for a fast Pentium 4, too.)

We've tested Opterons at work (I think we actually bought two or three
systems), and the result was what I would have expected: on the
execution speed is on-par with high-end Pentium 4 machines, and when
the memory footprint went past 4GB, the P4's dropped but the Opterons
kept going.

The large-memory (8+ GB) Sun and HP boxen we have are no match for the
Opterons. An LVS/DRC check went from ~210 min runtime to ~90 min when
going from a 4-CPU Sun box (unknown CPU) to a 2-CPU Opteron. And when
you start to consider price/performance, there's really no race going
on.

Regards,


Kai
 
J

john jakson

I agree with Allan on points that he add [...]

Good point. Thanks Allan, for your comments.
For your question regarding a PC hardware, i did the same and i am
realy satisfied of the execussion speed (a significant speed
improvement). Try a CPU of above 2 Ghz with FSB 800 Mhz, RAM 400 DDR
of above 512 Mb and a good motherboard that accepte these features and
you will see the difference.

Thanks for these words of encouragement. It turns out I'll get an
opportunity to try out an AMD64 in the next week. I'll post my
results including specifics of the machines compared. (I'll also look
for a fast Pentium 4, too.)

snipping

Just a week or 2 ago, a fella from Altera posted (c.a.fpga) quite a
few tidbits on their synthesis results using AMD64 v others. I am sure
the results would be similar for XST. Conclusion about 20% better than
top of line XP, and of course its the memory system thats probably
responsible for most of that.

Now due to miscommunication in Taiwan, I could have been the proud
owner of a Shuttle box with AMD64 for about $300 when the list was
$800. Seemed too good to be true but the poor kid selling me had no
idea how valuable the cpu chip was, he thought it was just another XP
variant.

I am curios how the laptop version of AMD64 will perform, I know its a
lower model, ISTR it has less memory capability. I saw the Emachine
laptop in BestBuy the other day.

regards

johnjakson_usa_com
 
J

john jakson

I'm considering buying a new motherboard & processor to speed up my
Xilinx synthesis process.

My synthesis system is Xilinx Web PACK 6.1i running on Windows XP on a
machine with a 1.1GHz AthlonXP & 256MB of 266 DDR memory.

My synthesis times are sluggish. I'm strongly considering upgrading
to a faster CPU with faster RAM (specifically, the Athlon 64 3000+
with 400MHz DDR DRAM). I'm curious if you folks have experience with
upgrading your hardware for the purpose of speeding up synthesis work.
What processor & motherboard combination worked well for you?

What does sluggish mean and how big is your project.

I am working on a cpu that maybe fills a sp3-50 and its getting slower
but redoing everything upto PR only takes 3mins IIRC, it started off
at 30s for trivial stuff. Turns out most of the time is in simulation
for which I use VC6 for the C model so I wouldn't get much benefit
from faster cpu. When the C RTL model passes, I go back and repair the
Verilog to see if its same speed.

I agree about buying 6mnth-1yr old level HW and almost getting it for
free. I have an XP2400 (2GHz) that can be had for $100 including
(nothin special Shuttle) mobo from Microcenter. If I had the AMD64,
that would cost me closer to $1k for a basic barebones box. Generally
if I want the fastest cpu, I get someone else to pay for it :)

I also get my DDRAM at 50% off by buying with rebates when they come
out on the 3 big hols (USA ofcourse) so 1G cost me about $120. I see
you have 256M, I would double that just to start. My XST runs only use
60M or so but you might be reaching mem limit already.


regards

johnjakson_usa_com
 
J

Joe

Randy said:
I'm considering buying a new motherboard & processor to speed up my
Xilinx synthesis process.

My synthesis system is Xilinx Web PACK 6.1i running on Windows XP on a
machine with a 1.1GHz AthlonXP & 256MB of 266 DDR memory.

My synthesis times are sluggish. I'm strongly considering upgrading
to a faster CPU with faster RAM (specifically, the Athlon 64 3000+
with 400MHz DDR DRAM). I'm curious if you folks have experience with
upgrading your hardware for the purpose of speeding up synthesis work.
What processor & motherboard combination worked well for you?

I'm not interested in a religious war of Intel vs. AMD.

I'm just curious, in your experience, is the synthesis process made
faster by:

1) faster memory
2) faster CPU
3) faster frontside bus
4) more L2 cache

Yeah, yeah, all of the above. Sure.
...
Hi,

Depends on the size of your design, and your budget, you might need to
consider getting more memory instead of a fastest CPU. I guess 1Gb RAM
should be enough for most FPGA design unless you are working with
XCV6000 FPGA? ;-)

Joe
 
A

Anthony J Bybell

Kai Harrekilde-Petersen said:
The large-memory (8+ GB) Sun and HP boxen we have are no match for the
Opterons. An LVS/DRC check went from ~210 min runtime to ~90 min when
going from a 4-CPU Sun box (unknown CPU) to a 2-CPU Opteron. And when
you start to consider price/performance, there's really no race going
on.

I built a 2-way Opteron box the other week for development use and
haven't had any complaints except for having to go through the hoops
of installing a 2.6 Linux kernel in order to enable the 2nd processor.
The current version of FreeBSD works fine also; the pre-version of
Windows Server 2003 doesn't recognize the 2nd processor. (I only
installed it just to see if it actually worked then blanked the drive
with Linux.)

Taking price/performance into account, it's very hard to beat. It'll
be interesting to see how Intel does compete.

-t
 
S

Stephen Williams

Diverging way off topic...
I built a 2-way Opteron box the other week for development use and
haven't had any complaints except for having to go through the hoops
of installing a 2.6 Linux kernel in order to enable the 2nd processor.
The current version of FreeBSD works fine also; the pre-version of
Windows Server 2003 doesn't recognize the 2nd processor. (I only
installed it just to see if it actually worked then blanked the drive
with Linux.)

I'm running with a 2.4 kernel on my dual opteron just fine. It
was shipped with SuSE SLES8 preinstalled and multiprocessing
just fine thankyouverymuch:)

Oh, and our sense is that with Xilinx xst, we would not dare
give up our Opterons!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top