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!

Reply

Reset pin/signal on Zedboard?

Highlighted
Newbie
Posts: 6
Registered: ‎10-11-2017

Reset pin/signal on Zedboard?

What is a global/system reset signal or pin on the Zedboard  to which the reset input signal in an FPGA design should be connected inside a contraint/xdc file?

I am using Vivado 2017.2

Voyager
Posts: 1,634
Registered: ‎06-24-2013

Re: Reset pin/signal on Zedboard?

[ Edited ]

Hey @andreypro,

 

There is no specific GSR pin on the Zynq but it has a GSR signal which can be connected to any input pin (or pins).

 

The STARTUPE2 primitive provides the input for GSR (Global Set/Reset) and GTS (Global 3-state).

 

Hope this helps,

Herbert

-------------- Yes, I do this for fun!
Newbie
Posts: 6
Registered: ‎10-11-2017

Re: Reset pin/signal on Zedboard?

How do I specify it in the constraint file?

Voyager
Posts: 1,634
Registered: ‎06-24-2013

Re: Reset pin/signal on Zedboard?

Hey @andreypro,

 

How do I specify it in the constraint file?

Same as with any other signal/pin you use in the design ...

set_property -dict {PACKAGE_PIN D14 IOSTANDARD LVCMOS33} [get_ports {GSR}];
set_property -dict {PACKAGE_PIN D15 IOSTANDARD LVCMOS33} [get_ports {GTS}];

Here is an example of how to instantiate the STARTUPE2 primitive ...

STARTUPE2_inst : STARTUPE2
    port map (
        CLK => '0',           -- 1-bit input: User start-up clock input
        GSR => GSR,           -- 1-bit input: Global Set/Reset input (GSR cannot be used for the port name)
        GTS => GTS,           -- 1-bit input: Global 3-state input (GTS cannot be used for the port name)
        KEYCLEARB => '0',     -- 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM)
        PACK => '0',          -- 1-bit input: PROGRAM acknowledge input
        USRCCLKO => '0',      -- 1-bit input: User CCLK input
        USRCCLKTS => '0',     -- 1-bit input: User CCLK 3-state enable input
        USRDONEO => '0',      -- 1-bit input: User DONE pin output control
        USRDONETS => '0' );   -- 1-bit input: User DONE 3-state enable output

 

Hope this helps,

Herbert

-------------- Yes, I do this for fun!
Newbie
Posts: 6
Registered: ‎10-11-2017

Re: Reset pin/signal on Zedboard?

Thank you for your answer

 

I tried 

set_property -dict { PACKAGE_PIN D14 IOSTANDARD LVCMOS33} [get_ports {reset}];

 

but Vivado says

[Common 17-69] Command failed: 'D14' is not a valid site or package pin name. 

 

Did I misunderstand something? Do I need to instantiate this primitive, to make it work?

Voyager
Posts: 1,634
Registered: ‎06-24-2013

Re: Reset pin/signal on Zedboard?

Hey @andreypro,

 

Thank you for your answer

You're welcome!

 

Command failed: 'D14' is not a valid site or package pin name. 

This is because D14 was just an (obviously unfortunate) example.

 

Did I misunderstand something?

You need to specify the pin location where you want the 'reset'.

For example, if you want to use the BTNC push button, you use 'P16' there.

 

Do I need to instantiate this primitive, to make it work?

Yes, you need to instantiate this primitive to make it work.

 

Best,

Herbert

-------------- Yes, I do this for fun!
Newbie
Posts: 6
Registered: ‎10-11-2017

Re: Reset pin/signal on Zedboard?

I think I understand now: Zedboard has no internally generated system reset, rather the reset is to be provided externally from an arbitrary input. And that is to what I should connect my standard reset input, so Vivado doesn't complain aboout an unconstrained input.

Correct?

 

Voyager
Posts: 1,634
Registered: ‎06-24-2013

Re: Reset pin/signal on Zedboard?

Hey @andreypro,

 

There is an internally generated reset which uses GSR and it will preset/reset all FFs and SRs in your design to the configured values. If you want to tap into that reset, the simplest way is to use a FF or SR which changes its state from '1' (initial value) to '0' after first clock cycle, which will give you the GSR reset.

 

If you want to trigger the GSR from an external pin, you connect that pin inside the fabric to the STARTUP primitive which will in turn cause the GSR.

 

If you have an independent reset mechanism which you want to trigger from a pin, you are probably best off by putting that reset on a clock network before you use it in your design, otherwise the various parts of your design might come out of reset with uncertain timing.

 

Hope this clarifies,

Herbert

-------------- Yes, I do this for fun!