The reason to add a reset would be so that the flip-flops can be either set or cleared when a reset signal is applied.What is your reason for adding a reset to the circuit?
I see no valid reason to need one.
So what are you specifically asking?I can think of plenty of cases where this would not be necessary, and plenty where it would.
So what are you specifically asking?
No, I didn't mix anything up. My question is nothing to do with reset synchronization.I see you are mixing up between two concepts.
1) double synchroniser, used for any signal path when crossing clock. Including synchronising reset signal. This does not need reset.
2) reset synchroniser (reset bridge), a specific version is advised as below . The claim is that it is better if clock has stopped when you want to reset.
You’re asking a question in a vacuum. Is your reset synchronized (synchronous de-assert?). If your reset signal is asynchronous you might get a glitch. You need to read the specs on your flip flops.No, I didn't mix anything up. My question is nothing to do with reset synchronization.
I'm asking about a 2 flip-flop synchronizer and whether there is any potential drawback to resetting those registers (whether you think there may be a reason to do that or not).
If your focus is just the 2 flip flop synchroniser then there is no point applying reset as the design is just a bridge so the sync/async question is not valid.No, I didn't mix anything up. My question is nothing to do with reset synchronization.
I'm asking about a 2 flip-flop synchronizer and whether there is any potential drawback to resetting those registers (whether you think there may be a reason to do that or not).
I specifically asked in my original post if the nature of the reset has an impact.You’re asking a question in a vacuum. Is your reset synchronized (synchronous de-assert?). If your reset signal is asynchronous you might get a glitch. You need to read the specs on your flip flops.
My question is: what is this burden? What are its consequences?You don't need add reset burden
Timing failure...My question is: what is this burden? What are its consequences?
That is true but the term covers either way.The distinction between "synchronous" and "asynchronous" reset refers to FF circuits rather than their generation method. A synchronous reset input is processed on the active clock edge, an asynchronous reset is a combinational input and acting independent of the clock.
That brings another issue. A large number of designs in the industry use synchronous reset (wired to logic at D input). So it needs clock to reset. Thus a reset e.g. button may or may not work and this is common. Power up reset is then expected to do better.Hi,
I see one drawback of synchronous assertion:
It does not work if the clock is missing. Maybe at power up when the clock oscillation voltage is too low...
Klaus
The distinction between "synchronous" and "asynchronous" reset refers to FF circuits rather than their generation method. A synchronous reset input is processed on the active clock edge, an asynchronous reset is a combinational input and acting independent of the clock.
The usual solution to this is to plan a proper resetting strategy. In a modern FPGA, the general guidelines are:That brings another issue. A large number of designs in the industry use synchronous reset (wired to logic at D input). So it needs clock to reset. Thus a reset e.g. button may or may not work and this is common. Power up reset is then expected to do better.
One of the articles by Ken Chapman that I linked above is titled "Get your Priorities Right – Make your Design Up to 50% Smaller".I don't know if asynchronous resets have a large resource impact with recent Xilinx FPGA.
The ideas contained in this white paper might not yield the full 50% savings potential in your design, but should save a significant amount. A 20% reduction in size can mean your design fits into a smaller device.
I hate to drag on further on this thread... but I find it useful to correct your wording.I only partly agree with the conclusions. For the FPGA families I'm working with (mostly Altera/Intel) asynchronous reset of the logic registers that need a definded initial state (output determining registers, FSM, counters, etc.) is appropriate and the preferred resource saving method.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?