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: 
Explorer
Explorer
5,968 Views
Registered: ‎11-11-2009

Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hello:

 

STARTUP_SPARTAN3E has an input port named GSR. Library Reference says "The GSR net connects to all registers in the device and places the registers into their initial value state." 

 

My questions:

 

1. Does the GSR net directly connect to the synchronous reset input of register, or use another strgegy to obttain the control of all the register?

 

2. What happens when there is local reset input? Does GSR net AND local reset input?

 

3. Text book says "... migrating reset to global resources ... instantiate STARTUP_SPARTAN3E primitives ... add an IBUFG ... assign the pin to dedicated clock pin ... the tools will not automatically move resets to dedicated clock pins, and that they have to control this". What does this means?

 

I'm optiming my design recently, hoping anyone who know can explain it to me. Thank you so much!

 

Best Regard.

Best Regard.

Ninos K.
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
7,723 Views
Registered: ‎05-17-2010

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

A global reset would be applied to all logic in your device.  As the WP states nicely, it is important to make sure that timing of the reset is not critical in your design since it will hit different areas at different times.  The global reset may be a problem when coming out of reset (reset deasserted) since some portions of your design may start up earlier than others.

 

A local reset is specific to a certain section of logic in your device.  It will use local routing resources and, depending on how it is implemented in the design, can be more of a synchronous signal. Most of the time we would recommend using local reset, as descriped in the WP, because it gives you more granularity in your control.

 

The GSR signal is a dedicated route, so it has better skew numbers than if you were to just create a global reset which uses regular fabric routing.  You still have to deal with the asynchronous affects because of the whole chip skew on the route.

 

I hope this helps.

 

6 Replies
Moderator
Moderator
5,936 Views
Registered: ‎05-17-2010

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hi Ninos,

 

GSR is an asynchronous reset which accesses dedicated routing.  GSR is typically used during configuration startup to reset and properly initialize all logic elements of the device.  It is a seperate from the local reset and it does not combine logically with that reset.

 

I'm not sure what you are referring to in your textbook there.  There are different approaches to doing resets in your design.  There is a really good White Paper that Xilinx has, WP272, which discusses global vs. local resets, when you should use each, and the implications of each.  Go check it out.

 

Thanks,

Eric

 

0 Kudos
Highlighted
Explorer
Explorer
5,860 Views
Registered: ‎11-11-2009

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hi axlund:

 

Thanks for the explanation.

 

Here's the summary in the sequence of the questions:

1. GSR pad , an input port of Primitive STARTUP_SPARTAN3E, is fed by external signal to control the Startup Process, GSR net is the routing network of external signal.

2. GSR net seperates from the local reset and it does not combine logically with that reset.

3. The textbook is lecture note of the video, and I've read the wp272.

 

But I'm still a little confused -- what's global and local reset? global means asynchronous? local means synchronous? Can you give me an example of global and local reset in the form of verilog code?

Best Regard.

Ninos K.
Tags (1)
0 Kudos
Moderator
Moderator
7,724 Views
Registered: ‎05-17-2010

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

A global reset would be applied to all logic in your device.  As the WP states nicely, it is important to make sure that timing of the reset is not critical in your design since it will hit different areas at different times.  The global reset may be a problem when coming out of reset (reset deasserted) since some portions of your design may start up earlier than others.

 

A local reset is specific to a certain section of logic in your device.  It will use local routing resources and, depending on how it is implemented in the design, can be more of a synchronous signal. Most of the time we would recommend using local reset, as descriped in the WP, because it gives you more granularity in your control.

 

The GSR signal is a dedicated route, so it has better skew numbers than if you were to just create a global reset which uses regular fabric routing.  You still have to deal with the asynchronous affects because of the whole chip skew on the route.

 

I hope this helps.

 

Explorer
Explorer
5,784 Views
Registered: ‎11-11-2009

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hi, axlund:

 Thanks for the clarification~

Best Regard.

Ninos K.
0 Kudos
5,515 Views
Registered: ‎03-03-2011

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hi

If  I'm use STARTUP_SPART3E primitive  to implement a multiboot configuration it is necessary to connect the gsr and gts pins or not .


@axlund wrote:

A global reset would be applied to all logic in your device.  As the WP states nicely, it is important to make sure that timing of the reset is not critical in your design since it will hit different areas at different times.  The global reset may be a problem when coming out of reset (reset deasserted) since some portions of your design may start up earlier than others.

 

A local reset is specific to a certain section of logic in your device.  It will use local routing resources and, depending on how it is implemented in the design, can be more of a synchronous signal. Most of the time we would recommend using local reset, as descriped in the WP, because it gives you more granularity in your control.

 

The GSR signal is a dedicated route, so it has better skew numbers than if you were to just create a global reset which uses regular fabric routing.  You still have to deal with the asynchronous affects because of the whole chip skew on the route.

 

I hope this helps.

 


 

0 Kudos
Xilinx Employee
Xilinx Employee
5,333 Views
Registered: ‎02-05-2008

Re: Primitive STARTUP_SPARTAN3E issue

Jump to solution

Hello saraabdulsattar,

 

Since this topic was marked solved on 10-25-2010 the best way for your question to be answered would be to create a new post in the Spartan board.

 

Best,

alexisc

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos