f4pga-examples/xc7/additional_examples/button_controller
Joshua Fife bbffe02635 Added all videos, fixed some bugs, and changed names
Signed-off-by: Joshua Fife <jpfife17@gmail.com>
2021-07-21 15:27:24 -06:00
..
Makefile Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
README.rst Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
SSControl.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
basys3.xdc Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
button.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
button_top.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
timer_par.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00

README.rst

Button Debouncer
~~~~~~~~~~~~~~~~~~

This example demonstrates using a button debouncer state machine to count the number of presses on the center button
on the basys3 board. The number of presses counted by the debouncer will be given on the two left most digits of the display followed by the count for the number of presses by the non debounced counter. You can reset the button counter
by pressing the up button on the board. To build the design first navigate to the additional examples directory:

.. code-block:: bash
   :name: additional-examples

   cd additional_examples

Then run make to compile the design: 

.. code-block:: bash
   :name: example-debouncer-basys3

   make -C button_debouncer


At completion, the bitstream is located in the build directory:

.. code-block:: bash

   cd button_debouncer/build/arty_35

Now, you can upload the design with:

.. code-block:: bash

   openocd -f ${INSTALL_DIR}/${FPGA_FAM}/conda/envs/${FPGA_FAM}/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 top.bit; exit"

The following is an example of the debouncer in action:

.. image:: ../images/debounce.gif
   :align: center
   :width: 50%