UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor chunhang
Visitor
5,833 Views
Registered: ‎12-02-2008

Fanout problem of Virtex 5

Jump to solution

I found that the default fanout value for Virtex 5 is very large (100000 as mentioned in XST document) which is quite different from other FPGA series.

In my design (using Virtex 5), I've tried to set the fanout value to a small number (say, 32) and a large number (10000), the P&R timing result is quite different. For the one I've used the large fanout value, ther performance is better than using the smaller value about 5~10% which is in contrary with the ASIC behaviour.

I would like to ask any reason behind that? Thx all.

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
6,947 Views
Registered: ‎01-03-2008

Re: Fanout problem of Virtex 5

Jump to solution

Modern FPGA architectures are "fully buffered" as Austin pointed out earlier in this thread.  What this means is that at every connection there is a buffer to drive the next segment.  Having these buffers present means that only the individual segments act like a RC delay instead of the entire net acting as RC that you are familiar with in your previous ASIC experience.

 

When you reduce the fanout limit in a FPGA, you are inserting LUTs in the net instead.  Routing through a LUT component adding delay and reduces the performance.  In addition to this component delay, there is no guarantee that synthesis made the right choice about where to split the original high fanout net and the routing/placement connections may not longer be optimal.

 

 Leave the high fanout nets alone and let the tools and architecture do the work they were designed to do.

------Have you tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com

View solution in original post

0 Kudos
4 Replies
Teacher eilert
Teacher
5,817 Views
Registered: ‎08-14-2007

Re: Fanout problem of Virtex 5

Jump to solution

Hi,

did you actually create a net that feeds >1000 inputs and perform your test with it? 

Can happen for Clock Enable or Sync Reset nets in large designs, but unlikely elsewhere.

 

For nets with <100 Inputs the additionally created hardware may corrupt your results when you set the fanout to 32.

And I think the same would happen in ASICs too. Theres always a tradeoff between the load of a hig fanout line and

the additional delays that come from additional hardware that's needed to keep the fanout low.

 

Give some details about your test approach and results   

0 Kudos
Scholar austin
Scholar
5,808 Views
Registered: ‎02-27-2008

Re: Fanout problem of Virtex 5

Jump to solution

ch,

 

Generally speaking, Virtex II onward, had fully buffered interconnect, so loading was irrelevant (did not affect performance strongly as in previous families).

 

Unless you are fighting a problem of a few 10's of picoseconds, I would not worry about loading at all.

 

 

Austin Lesea
Principal Engineer
Xilinx San Jose
0 Kudos
Visitor chunhang
Visitor
5,780 Views
Registered: ‎12-02-2008

Re: Fanout problem of Virtex 5

Jump to solution

eilert ,

    I think you've misunderstand my question. What I mean is by using one logic gate (or flop) to drive N logic. If I set fanout to 32 in XST and N > 32, the XST will add buffer(s) between the gates.

 

austin,

    I did think that there is some buffers in the switch box so that fanout is no longer the problem for the virtex5. But it can't explain my design's performance improvement. Actually, what I think is that, there are too many wires in my design, if I "manually" added some additional buffers to the high fanout wire, it will divided the high fanout wire into a smaller wire segments. Thus, the whole network's wire connection will increase and the design will become more congested. Is this a possible reason for that? (I can only prove this by checking out the "wire utilization ratio", however, which is not available from the tools)

0 Kudos
Xilinx Employee
Xilinx Employee
6,948 Views
Registered: ‎01-03-2008

Re: Fanout problem of Virtex 5

Jump to solution

Modern FPGA architectures are "fully buffered" as Austin pointed out earlier in this thread.  What this means is that at every connection there is a buffer to drive the next segment.  Having these buffers present means that only the individual segments act like a RC delay instead of the entire net acting as RC that you are familiar with in your previous ASIC experience.

 

When you reduce the fanout limit in a FPGA, you are inserting LUTs in the net instead.  Routing through a LUT component adding delay and reduces the performance.  In addition to this component delay, there is no guarantee that synthesis made the right choice about where to split the original high fanout net and the routing/placement connections may not longer be optimal.

 

 Leave the high fanout nets alone and let the tools and architecture do the work they were designed to do.

------Have you tried typing your question into Google? If not you should before posting.
Too many results? Try adding site:www.xilinx.com

View solution in original post

0 Kudos