f4pga-examples/xc7/timer
Joshua Fife f41e99f832 rebased onto main
Signed-off-by: Joshua Fife <jpfife17@gmail.com>
2021-08-20 14:05:28 -06:00
..
Makefile Modified Makefiles to call common/Makefile 2021-08-20 13:12:58 -06:00
README.rst rebased onto main 2021-08-20 14:05:28 -06:00
basys3.xdc rebased onto main 2021-08-20 14:05:28 -06:00
clock.sv fixed module parameters to conform to conventions 2021-08-20 13:11:11 -06:00
display_control.sv Ran PWM and timer through verible formatter and linter 2021-08-20 13:11:11 -06:00
modify_count.sv Ran PWM and timer through verible formatter and linter 2021-08-20 13:11:11 -06:00
time_counter.sv Ran PWM and timer through verible formatter and linter 2021-08-20 13:11:11 -06:00
timer.sv fixed module parameters to conform to conventions 2021-08-20 13:11:11 -06:00

README.rst

Timer
~~~~~~

This example is built specifically for the basys3 and demonstrates a greater variety of I/O 
then previous designs. It also demonstrates symbiflow's support for code written in System Verilog 
as well as its support of dictionaries in XDCs. To build this example run the following commands:

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

   make -C timer


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

.. code-block:: bash

   cd timer/build/basys3

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 start and stop the watch by toggling switch 0 on the board.
Press the center button to reset the counter. The following gives a visual example:

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