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: 
Observer eita
Observer
308 Views
Registered: ‎12-21-2017

Which reset type could improve performance?

Hi there.

My FPGA device is Zynq MPSoC, and using over 300MHz clock on PL.

Some timing issues in my design now, but its difficult to solve this because logic resource is over 80% now.

So now I want to shrink logic, and improve performance.

In this document said, sync reset is improve performance. 

https://www.xilinx.com/support/documentation/white_papers/wp231.pdf  P.5

But this document is legacy document.

In MPSoC, sync-reset or async-reset, which reset type is the best for performance?

 

Best Regards.

 

 

 

0 Kudos
6 Replies
Voyager
Voyager
274 Views
Registered: ‎02-01-2013

Re: Which reset type could improve performance?

 

Regardless of any performance increase, synchronous resets always should be used insted of asynchronous resets. Every input to FPGA logic has a window of time (setup/hold) in which that input can safely change. An asynchronous input (even a reset) can lead to unexpected operation when if changes outside of the safe window. In the case of the reset, the problem could occur when the reset de-asserts. An IP that indicates its reset can be asynchronous actually contains logic to synchronize that reset input to the IP's clock before using it.

However, vast designs running at a very high speed often have timing trouble with global synchronous resets. One remedy is to pipeline resets such that different sections of the design are reset (and un-reset) in stages, using a chained synchronous reset to affect different sections at different times.

-Joe G.

Highlighted
Explorer
Explorer
267 Views
Registered: ‎05-21-2015

Re: Which reset type could improve performance?

If your goal is to reduce the logic within your design, I don't think the difference between synchronous and asynchronous resets will help much.  Instead, consider only applying the reset to those pieces of logic that actually need it, breaking various processes up as necessary to make that happen.

You can read more about minimizing logic here.

Dan

Observer eita
Observer
222 Views
Registered: ‎12-21-2017

Re: Which reset type could improve performance?

Hi Joe.

Thankyou for reply.
I understand about asynchronous reset issue.
My design is asynchronous reset, but reset de-assert is syncronous to clock.

https://www.xilinx.com/support/documentation/white_papers/wp231.pdf  P.5
In this document says, synchronous reset can decrease logic resources than synchronous.
I want to decrease logic utilization, so I want to know this document's methods is available in MPSoC.

Regars.

eita

 

0 Kudos
Observer eita
Observer
220 Views
Registered: ‎12-21-2017

Re: Which reset type could improve performance?

Hi Dan.

Thankyou for advice.

That is good idea, because my desing has many calculation modules, but this module doesn't need reset.
I remove reset from my design later, and check utilization.

Regards.

Eita

 

 

 

Voyager
Voyager
210 Views
Registered: ‎02-01-2013

Re: Which reset type could improve performance?

 

Most of that whitepaper discusses strategies to increase system performance. The benefits to overall area aren't as profound.

Page 5 of that WP shows how the synthesizer can incorporate the reset signal into its optimization of logic, thereby reducing the resources needed to implement the synchronous reset. There's nothing special about the MPSoC logic when it comes to the effectiveness of Vivado to optimize properly-coded HDL--considered against comparable Ultrascale+ devices. You can expect consistent behavior from the tools.

I assume you're now also talking about this statement below Figure 5 on page 7:

"Because most of the logic in a design is synchronous, using synchronous or no reset at all allows for further design optimizations, reduced area, and optimal performance."

Using a synchronous reset removes the need to synchronize it locally, which additionally can save an entire CLB worth of synchronization registers. That's not a lot. The bigger bang comes from using no reset where one is not really necessary.  @dgisselq has a link above to a very good page that discusses this matter. (I added a Kudos to that, to encourage you to check it out.) If you omit resets on your data pipe, and use minimal synchronous resets in your control structures, you will achieve optimum area for a given level of performance.

-Joe G.

 

0 Kudos
Explorer
Explorer
194 Views
Registered: ‎09-17-2018

Re: Which reset type could improve performance?

No reset at all,

As the FPGA fabric (programmable logic or PL) is set to the desired initial states by configuring, a reset is only needed if you wish to restore/reload values to a bock of logic (like a state machine).

So, best to not reset anything that doesn't actually require a reset, but to rely on the built in reset/set which is part of the PL.

A contraversial subject, as some few do not use the configuration reset/set, and instead create their own solution which clogs up the design, and makes meeting timing far more difficult.  No doubt we will see a conflicting comment in a few hours of this posting.

l.e.o.

0 Kudos