FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 04-10-2006, 01:45 PM
Guest
 
Posts: n/a
Default How to handle the high fanout

I implement the design using xilinx device, and one net has high
fanout, so I duplicate the register, but it does not work, the net
fanout remains the same.

The original code is:

process(clk)
begin
if clk'event and clk = '1' then
regenr <= regen;
end if;

I modified to be:

process(clk)
begin
if clk'event and clk = '1' then
regenr <= regen;
regenr2 <= regen;
end if;

but the timing analyzer still reports that regenr2 has the same fanout
as the regenr did.

I am confused and I wonder whether there was some settings that should
be modified in ISE, or I should add some constraints in UCF file to
achieve this?

Reply With Quote
  #2 (permalink)  
Old 04-10-2006, 02:01 PM
bjzhangwn
Guest
 
Posts: n/a
Default Re: How to handle the high fanout

Is the regenr and the regenr2 have the diffient load, or I think you
can set the maxfan attribute in your hdl sourse file?For
example(verilog)
reg regenr /*synthesis syn_maxfan=32*/;//32 is the max fanout
that for example you can add yours instead than the synthesis tools
will auto duplicate the registers.also you can set the maxfan for all
in the synthesis tool,you can look the synplify online help.
Best regrads!

Reply With Quote
  #3 (permalink)  
Old 04-10-2006, 04:30 PM
Ralf Hildebrandt
Guest
 
Posts: n/a
Default Re: How to handle the high fanout

[email protected] wrote:


> I implement the design using xilinx device, and one net has high
> fanout,


=> The synthesis tool gives you a hint, that using a (manually inferred)
buffer may be not a bad idea. What buffers are available strongly
depends on the target architecture. Sometimes the synthesis tool will
infer such buffers automatically, if needed.

> so I duplicate the register, but it does not work, the net
> fanout remains the same.

....
> process(clk)
> begin
> if clk'event and clk = '1' then
> regenr <= regen;
> regenr2 <= regen;
> end if;
>
> but the timing analyzer still reports that regenr2 has the same fanout
> as the regenr did.


regenr and regenr2 are equal for the synthesis tool.


> I am confused and I wonder whether there was some settings that should
> be modified in ISE, or I should add some constraints in UCF file to
> achieve this?


If you have a synchronous design everything should be done
automatically, because the synthesis tool estimates the delay of the
high-fanout net, infers the appropriate logic and reports the resulting
clock frequency. Because of this high-fanout net the frequency may not
be very high. (So the warning is a hint for you to search for the reason
for the low frequency.)

Constraining the clock is the most important thing you need to do.

Ralf
Reply With Quote
  #4 (permalink)  
Old 04-11-2006, 04:47 PM
Guest
 
Posts: n/a
Default Re: How to handle the high fanout

I Got the answer.
I have add an attribute of equivalent_register_removal to "no" to
forbidden ISE to remove the maunally duplicated register.
and the fanout decreases.

Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
HELP: High fanout load on Gated clock output whizkid Verilog 3 11-15-2004 11:20 AM
Fanout Xilinx Ted FPGA 1 09-03-2004 07:44 PM
Newbie question -fanout of iopins in fpga vivek FPGA 2 06-28-2004 02:39 PM
A synthesis question about "high-fanout nets" walter Verilog 3 07-04-2003 06:30 PM


All times are GMT +1. The time now is 08:42 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved