cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
eneserdin
Observer
Observer
10,480 Views
Registered: ‎12-25-2007

Tips for lowering implementation time

Hi,

 

Recently, I am working on a project which is quite large. Sometimes I receive change requests about blocks and when I want to re-implement the design it takes about more than 4 hours. And it is really annoying. What I want to ask is are there any tips for lowering the implementation time.

 

Do you think an analysis of the design and LOC constraints improve the time?

 

I tried partitioning of the design but at first run after 10 hours virtual memory was not enough and I quit.

 

My first thoughts about this is physical changes like, what if I use a high RPM HDD. According to my observations XST heavily uses HDD. This is strange, I mean not performig oprations through RAM. Or do you suggest using a RAID HDD.  I wonder how XST works and what modifications can be done for a faster design. By the way I use ISE 9.2.

 

Any kind of suggestions are welcome.

 

Thanks in advance.

Tags (2)
0 Kudos
8 Replies
drjohnsmith
Teacher
Teacher
10,473 Views
Registered: ‎07-09-2009

HI

 

sorry to say for a big design, 4 hours is short. 

 

 

The Big answer is incremental Design.  But it needs a lot of work up front to get it to work well.

 take a look here http://www.xilinx.com/products/design_tools/logic_design/advanced/incrementaldesign.htm

 

General notes.

 

Dedicate a machine to the job,

 

Get the latest ISE, each is said to be faster than the last.

 

turn off virus checking,  auto backup, indexing, or any other back ground tasks.( you might need to get it off the network to do this )

 

Lots of Fast memory is good, but windows only supports up to 3G, and your limited by your board chip set, so your a bit snaffed.

 

The faster the processor the better, synth is inherantly single threaded, so multi core gives little advantage.

 

fast hard disk is good, as is a fast Graphics card, don't use shared memory graphics systems.

 

 

Message Edited by drjohnsmith on 07-08-2009 01:24 PM
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
eneserdin
Observer
Observer
10,466 Views
Registered: ‎12-25-2007

Thank you for the valuable suggestions.

 

You are right. I heard of people waiting for almost a day for implementation, so I am luckier compared to those. My last run took 6 hours.

 

Do you know anything about the HDD usage? For example I have a plan for using RAID system. System partition will be RAID and my project files will be in a normal second HDD. But, my doubt is I think ISE is using the project folders not the pagefile. In this manner RAID will not affect the performance, am I right?

 

Thanks,

 

--Enes

0 Kudos
gszakacs
Instructor
Instructor
10,452 Views
Registered: ‎08-14-2007

Is your system RAM already at the maximum (at least 3GB)?  The normal reason for HDD usage is

insufficient memory requiring virtual memory paging.  Are there other applications running at the same

time, perhaps using up memory?  Use the Task Manager to check memory usage before and during

your implementation process.  Even very fast hard disks are orders of magnitude slower than

RAM.  Consider moving to a 64-bit OS if you need more than 3GB of virtual memory during

implementation.

-- Gabor
0 Kudos
drjohnsmith
Teacher
Teacher
10,444 Views
Registered: ‎07-09-2009

Hi,

 

re 64 bit,

 

you need to check what tools work with 64 bit if you go down that route, and remember, you effectivly need twice the ram to stay stil, so 6G in a 64 bit machine is like 3G in a 32 bit machine. ( rule of thumb but a good one ).

 

I have also heard that the Linux version of the tool is faster.

 

Our big machine has a pair of Intel SSD's for maximum speed,  but I'm not certain how much it improves things over fast ram.

 

Most of the speed gain was when we stripped all but the basic applicatoins off the machine. You can spend a long time profiling the machine if you want to.

 

You can also write the code so it impliments 'faster', if your into that.

 

But all these things will in general only gain you a few percent, and it seems to be the big designs that take 24 hours plus that  gain the most, a short 6 hour compile is less easy to get an improvment. 

 

But Hay, computers are cheap, chuck the best / fastest you can get at the problme. a USD 4000 mahcine is written off against tax in a year,  and your time costs a lot more than this. 

 

But to re iterate the above, the only real speed possible is partial re compiling.

 

 

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
lordgalloth
Adventurer
Adventurer
10,355 Views
Registered: ‎07-16-2009

I think you could use smartguide attribute for map and par. It takes the result of the previous implementation step and use it to reduce time of actual one.  I am not sure, if in ISE9.2 was smartguided parameter supported, maybe it was called diferently. Try look for guided map in the manual.

 

Jan

0 Kudos
rickysu
Explorer
Explorer
10,282 Views
Registered: ‎08-12-2007

I believe RAID 0 helped my machine to run faster when not chaning any hardware.

 

But if you'd like to buy a new machine, it's worth to pay for

- Faster CPU with Large CACHE (too many cores doesn't help)

- Large Memory

 

Graphic cards 2D performance can impact the FPGA Editor response time.

 

OS stability is also important. Linux is good at memory management when memory consumption goes larger and larger.

 

The correct constriants for the guide of par can also help a lot. But it's hard to get the "correct" constraints before you know the FPGA architecture well.

0 Kudos
rdb9879
Explorer
Explorer
7,172 Views
Registered: ‎09-27-2013

Out of curiosity....if I threw down big bucks for a PC with twice the CPU clock freq and oodles more RAM, would I see a decrease in implementation time around 50%? The answer SHOULD be yes, but I thought I'd ask.

 

It'd be cool if Xilinx came out with a hardware-accelerator board to hand-off some of the build algorithms to an FPGA ;)

 

 

0 Kudos
muzaffer
Teacher
Teacher
7,167 Views
Registered: ‎03-31-2012

Twice the clock frequency should give you approximately twice the speed; although that's difficult to buy these days. One other improvement you can make is to buy a cpu with larger L2 cache. Mostly serial tasks like p & r are relatively sensitive to cache size so going from 6M to 8M of cache can make a significant difference; around 15% or so. Memory is cheap, get a system which can take 16G and fill it up with fastest ram possible.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos