f4pga-examples/xc7/pulse_width_led
Joshua Fife efb7729975 tuned up button controller, PWM, and timer
Signed-off-by: Joshua Fife <jpfife17@gmail.com>
2021-07-21 15:27:24 -06:00
..
Makefile Added completed pwm and stop watch examples. Partially complete debouncer and uart_tx 2021-07-21 15:27:08 -06:00
PWM.v Added completed pwm and stop watch examples. Partially complete debouncer and uart_tx 2021-07-21 15:27:08 -06:00
PWM_top.v Added completed pwm and stop watch examples. Partially complete debouncer and uart_tx 2021-07-21 15:27:08 -06:00
README.rst tuned up button controller, PWM, and timer 2021-07-21 15:27:24 -06:00
arty_35.xdc Added completed pwm and stop watch examples. Partially complete debouncer and uart_tx 2021-07-21 15:27:08 -06:00

README.rst

Pulse Width Modulation
~~~~~~~~~~~~~~~~~~~~~~~~~~

This example is built specificity for the arty_35T. It demonstrates a greater variety of I/O and 
a PWM that drives the RGB leds on the board. To build this example run the following
commands:

.. code-block:: bash
   :name: example-pulse-arty-35t

   make -C pulse_width_led


At completion, the bitstreams are located in the build directory:

.. code-block:: bash

   cd pulse_width_led/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"

After downloading the bitstream, you can experiment with and mix different amounts of red, green, and 
blue on RGB led 0 by toggling different switches and buttons on and off. From left to right: 
switches 3, 2, 1 control the intensity of blue, switch 0 and buttons 3 and 2 control the intensity of 
red, and buttons 1 and 0 control the intensity of green. The following provides an example:

.. image:: ../../docs/images/pwm.gif
   :align: center
   :width: 50%