Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Synchronous/Asynchronus Reset?

Status
Not open for further replies.

rewkie

Newbie level 1
Joined
Dec 2, 2002
Messages
0
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,282
Activity points
112
asynchronus reset

Synchronous/Asynchronus Reset?
 

sunjimmy

Full Member level 2
Joined
Jan 10, 2003
Messages
129
Helped
9
Reputation
18
Reaction score
7
Trophy points
1,298
Activity points
1,027
If the edge of reset signal is synchronized with system clock edge, it's synchronous reset. Otherwise it's asynchronous reset.

Hope it clarify the difference :)
 

flatulent

Advanced Member level 5
Joined
Jul 19, 2002
Messages
4,629
Helped
489
Reputation
980
Reaction score
150
Trophy points
1,343
Location
Middle Earth
Activity points
46,689
level too

For level resets, async has the reset when the level is reached. in sync reset the level has to be there at least as long until the next clock comes along and the reset is done then. In both, the level has to stay there for a certain time after the reset or unusual things may happen.
 

ted

Full Member level 3
Joined
Mar 12, 2002
Messages
182
Helped
28
Reputation
56
Reaction score
24
Trophy points
1,298
Activity points
2,875
I guess everything was said by sunjimmy and flatulent, but the things are always better to explain in more views, so that the practical consequences became completely clear:

Asynchronous reset (often also caller "clear") does reset /clear the state imediately, independently of the clock edges. It usually overrides any clock-synchronized actions, so it keeps the system/component firmyin "reset-state" while active.

Synchronous reset is always related to the clock active edge. It is for a register equivalent of loading with "reset-value" - usually zeros. It has no effect outside the active clock edge (just be aware setup and hold times around the edge -see below).

The sister functions: synchronous preset / asynchronous preset behave similarly, except they set a register's value (usually) to "1" instead of "0". Thus the asynchronous one is more powerul than the synchronous one and always immediate in it's action.

As flatulent points out, having pulses too narrow and not respecting setup time/hold time for the synchronous signal, may lead to something called metastability, and the consequences can be quite unexpected, and completely unpredictable. Therefore, if the synchronous reset/preset is not stable at/near the clock edge (i.e. stable before "setup time" or until "hold time"), or the pulse is shorter than the data sheet minimum, be aware! The result will not be predictable nor reliable.
 

linuxluo

Full Member level 6
Joined
Jul 26, 2002
Messages
331
Helped
7
Reputation
14
Reaction score
3
Trophy points
1,298
Activity points
2,514
Hi,
I think in ASIC design, use Asyn reset or syn reset is mostly depend on library cell. Normally, register cell in standard library is asyn reset, so you had better to use asyn reset. But be careful the race condition happed.
But syn reset is good if your library has syn reset register.
 

Laplace

Advanced Member level 4
Joined
Feb 26, 2002
Messages
103
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Activity points
659
Hey Guys,

How about "high" or "low" reset? what is the critical point here while deciding for "high" or "low" ?

Thanks
 

flatulent

Advanced Member level 5
Joined
Jul 19, 2002
Messages
4,629
Helped
489
Reputation
980
Reaction score
150
Trophy points
1,343
Location
Middle Earth
Activity points
46,689
preset and clear

Some have only clear others have clear and preset inputs. It is all a matter of what your overall circuit needs. For instance, if you are making a timer, the circuit is set to all zeros (clear) before the timing starts. Some counters have a load input so that it can be set to a specific value. The loads can be sync or async. A common divide by N system loads a given number and counts down. When the count reaches all zeros, the borrow is fed around to load.
 

steshenko

Member level 3
Joined
May 31, 2002
Messages
62
Helped
2
Reputation
4
Reaction score
1
Trophy points
1,288
Activity points
392
About HIGH and LOW reset

Several decades years ago the TTL logic was a most popular. In HIGH output power consoption was less then out is LOW - traditionally reset and other short sygnals are LOW. But now it is only designer decision and consideration - you can use a HIGH level for reset or LOW as you want
 

linuxluo

Full Member level 6
Joined
Jul 26, 2002
Messages
331
Helped
7
Reputation
14
Reaction score
3
Trophy points
1,298
Activity points
2,514
Hi ,
I think the high reset or low reset is depend on the standard cell library you use. If in library there only exist flipflop have low reset pin , so you had better use low reset ,otherwise you have to use a unnessesary NOT cell.
 

chwpark

Junior Member level 1
Joined
Dec 31, 1999
Messages
17
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
48
Async RST:

if(rst = '1') then
sig1 <= '0';
elsif(clk'event and clk = '1') then
..........


Sync RST:

if(clk'event and clk = '1') then
if(rst = '1') then
sig1 <= '0';
else
.......
end if;

Notice 'rst', 'sig1' and 'clk'.
Do you understand?

good luck

chwpark
 

fivaro1

Member level 2
Joined
May 26, 2001
Messages
48
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
357
Always supposing that clock is present. What about if it dissapears?

I personally prefer using asynchronous reset. But I just design with FPGAs, perhaps it`s not the same context...
 

Phytex

Member level 4
Joined
Dec 16, 2001
Messages
73
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
598
Reset

In the most Designs you use a asynchronus reset and a synchron design.
If you use asynchronus busses like a VME-Bus you need to synchronize them for your Design!
Asynchronus Designs are complicated to handle, because you can have delays between signals!!
Phytex
 

fivaro1

Member level 2
Joined
May 26, 2001
Messages
48
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,288
Activity points
357
I agree with you Phytex: I also use asyn. rst and sync design. The few times I had to include asynchronous parts in my designs, all were problems until I developed synchronizers able to communicate async. logic with the synchronous one. Timing analysis was quite critical.

Regards
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top