f4pga-examples/xc7/additional_examples/uart_tx-rx
Joshua Fife b03b3292d3 Touched up all documentation and updated videos
Signed-off-by: Joshua Fife <jpfife17@gmail.com>
2021-07-21 15:27:24 -06:00
..
Makefile Touched up all documentation and updated videos 2021-07-21 15:27:24 -06:00
README.rst Touched up all documentation and updated videos 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 Touched up all documentation and updated videos 2021-07-21 15:27:24 -06:00
reciever.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
transmitter.sv Added all videos, fixed some bugs, and changed names 2021-07-21 15:27:24 -06:00
uart_top.sv Rough draft for each design 2021-07-21 15:27:24 -06:00

README.rst

Serial Receiver/Transmitter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This design demonstrates a UART transmitter/receiver on the basys3 board. ASKII values can be sent 
over USB to a putty terminal and characters from the Putty terminal can be sent back to the 
basys. To build the design first navigate to the additional_examples directory: 

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

   cd additional_examples

Then run make to compile the design: 

.. code-block:: bash
   :name: example-uarttx-rx-basys3

   make -C uart_tx-rx


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

.. code-block:: bash

   cd uart_tx-rx/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"

Once the code has been downloaded to the board, open a Putty terminal and choose the correct serial 
connection line for your board. Also set the baud rate to 19200, data bits to 8, stop bits to 1, the parity 
to ODD, and the flow control to NONE. You can change these properties in Putty by looking under the serial 
settings on the left hand side. 

After configuring Putty, open a session and type some characters. The ASKII values of the keys you press will 
be shown on the two left most displays of the basys3 board in hex. The LEDs are used to notify of any 
reception errors. You can also transmit ASKII characters to putty by following the same procedures as in 
the uart_receiver example. The following is a visual example of the receiver/transmitter:

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