Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics 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.

Synchronous assertion and deassertion of reset

Status
Not open for further replies.

jatank

Newbie level 3
Newbie level 3
Joined
Aug 6, 2013
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
19
Hello,

I have need of synchronous reset in my design. But the problem is both of it's assertion as well as DE-assertion should be synchronous.

Can anybody give me hint on this.



Thanks
 

Use a synchronizer on your reset signal?
 

You don't. What makes you think every single item requires a reset? I am assuming here this is for fpga, and not asic...

Reset is a functionality just like everything else. What is the function of resetting your reset synchronizer?
 

You don't. What makes you think every single item requires a reset? I am assuming here this is for fpga, and not asic...

Reset is a functionality just like everything else. What is the function of resetting your reset synchronizer?

I'm also talking about FPGA. As I'm beginner i don't know in much depth. But what if flop of synchronizer have initial value '1' and i don't give value to reset signal.
 

I'm also talking about FPGA. As I'm beginner i don't know in much depth. But what if flop of synchronizer have initial value '1' and i don't give value to reset signal.

A valid problem. With a simple solution: give it an initial value of '0'.

You can give your registers initial values in verilog/vhdl. Then during fpga configuration & startup this initial value is set in the flip flop. So for example:


Code Verilog - [expand]
1
2
3
4
5
6
7
reg reset_synchronizer = 1'b0;
reg reset = 1'b0;
 
always @(posedge clk) begin
    reset_synchronizer <= reset_external_pin_from_fpga;
    reset <= reset_synchronizer;
end



And then you can use that reset signal in the rest of your design.
 

FWIW, if your design has a need to restart the reset after FGPA configuration (e.g. via a switch), then you might be getting into more depth on the subject of reset synchronizer design, related metastability concerns and so on.

If you want to become more comfortably educated with all of this, the following references give a thorough treatment ...
-> **broken link removed**
-> http://www.sunburst-design.com/papers/CummingsSNUG2003Boston_Resets.pdf
(there is also the original paper at the same site, which might have some less interesting stuff that was removed)

Search and you'll find related threads on this board, such as: https://www.edaboard.com/threads/104099/
 
Yup, the sunburst paper is pretty good. And thanks for the klabs link, didn't know that one yet. :)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top