Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎02-16-2020

How to hard reset a Basys3 board programmatically in vivado?

Is there a way to reset a Basys3 board programmatically in vivado?

Can I send a press command to a pushbutton like the Reset pushbutton?


I found an article about operating PROGRAM_B to reset the board, but I don't know how to operate it.

It would be greatly appreciated if you could explain the details.



Tags (1)
0 Kudos
2 Replies
Registered: ‎06-20-2017

PROGRAM_B is not tied to any other IO on the FPGA, so it looks like you can only pull it down via the pushbutton.  See  If digilent had connected it to another output pin, you could pulse it low, at least in theory.

Or, if there is another output available, you could bring a jumper wire from an FPGA output to the PCB net tied to PROGRAM_B, and then make that output tri-state, drive the output low when you want to rest the fpga and have it reconfigured.

Alternatively, you could look at instantiating an ICAPE2 primitive (see UG768 in DocNav) and sending an IPROG command to reconfigure the device, but that will take a certain amount of expertise.  See UG470, UG953, and UG768, again in DocNav.

Or you could acquire an external device that can power cycle the card.  You can control that device via usb, ethernet, or wifi.

Or you could purchase a servo to control a rod that pushes the pushbutton.

All would require some trial and error.

*** Destination: Rapid design and development cycles ***
Registered: ‎02-16-2020

Thanks for your reply.

Also, thank you for the many reference pages.

They are very informative for me.

I'm going to read it carefully!!!


I felt that the method of controlling the stick to press the push button was forced but safe and fast.

I found the method of using the ICAPE2 and an IPROG command to be difficult for me.

I will experiment with it through trial and error.



Best regards.