LogicStart Shield & restart


Coolzire

Recommended Posts

Hi,

I have been using y papilio duo for a while. My latest project had a issue and i needed to restart the FPGA. With the shield on top it is kinda difficult to reach the restart button. Is there a way to map one of the button to restart the FPGA?

Thank in advance for your time ,

 

-Olivier

Link to comment
Share on other sites

Hi Jack,

I was doing a debouncing circuit with a counter making sure of a minimal pulse width. However I had an invalid state and my circuit would stop responding. I ended up unplugging/plugging the board to reset it while I was trying to debug the circuit. I just looking for a way to use a button from the shield to reset the FPGA as if i had pressed on the reset button on the board, if there is one.

-Olivier

Link to comment
Share on other sites

Ok, perfect, it is possible to do what you want using the GSR pin on the startup_spartan6 primitive. Here is an example where I have connected Switch0 on the LogicStart Shield to act as a reset:

DesignLab Reset.png

When Switch0 is up the circuit will run, when it is down it resets the same as the FPGA reset pin.

(I determined that Arduino_0 is Switch0 by looking at the following pinout chart: http://www.papilio.cc/uploads/Papilio/Papilio DUO pinout for LS.pdf. You can also use a button instead of a switch.)

I have also attached an example DesignLab design for you to look at.

Jack.

Reset_Example2-160811a.zip

Link to comment
Share on other sites

I checked your schematic and like the idea of using the AVR to generate a clock signal for the FPGA. As for the primitive , I am still trying to get it working. I managed to instantiate it in VHDL but my design was not functionning anymore. I am reading the datasheet to sort it out.

-Olivier

Link to comment
Share on other sites

I got it working with the startup primitive. On my project pressing DIR_UP cause all flip-flop to return to their initial state. I included my VHDL code for the benefits of others.

I instantiate my module with :

HardReset : entity work.GlobalReset port map(DIR_UP);

DIR_UP being the input used to trigger reset.

-Olivier

GlobalReset.vhd

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.