I've been working on a personal project and have been running into an issue with communicating with my Arty A7 100T over UART. I've attached my code at the end.
My setup:
Vivado 2022.2
Arty A7 100T (it says Rev E on the bottom)
Ubuntu 20.04.6 LTS
Minicom 2.7.1
Putty 0.73
The issue I'm encountering is that when I attempt to send or receive characters through Minicom or Putty over UART, I'm not getting any information back. I've verified the following:
My bitstream is loaded on the Arty A7 100T (verified by blinking the LEDs in an ascending pattern)
LD10 lights up when data is transmitted to the Arty A7 100T from both Minicom and Putty.
When running the Arty GPIO demo on the Arty A7 100T, when I press the buttons I'm expecting to see a message pop up on the terminal. I can verify that LD9 is also lighting up when the message is supposedly transmitted, despite no message on the terminal.
I've configured my UART to use 115200 as the baud rate for both transmit and receive, and confirmed that Putty/Minicom comply.
What I've tried:
I've rewritten my UART code based off two separate open source examples, and attempted using the Digilent GPIO example.
I've tried using a different power supply than the microUSB.
I've tried replacing the microUSB.
I've tried synthesizing the same HDL for the Arty A7 35T, and got the same behaviors.
I've tried several USB ports on my device.
I've verified my RTL in testbenches, though have not yet tried netlist simulation since it seems absurd that Vivado would butcher several different implementations the same way, but if that's what I need to do, I will.
My best guess is that either the voltage is wrong somehow, the OS is causing some unknown problem, Vivado is butchering every implementation of the UART I've tried, or some other issue. I've tried everything I know how to do/have the resources to do, and I'd like some input from others to figure out what's gone wrong.
Thanks all in advance.
SimpleUartTx.vhd
SimpleUartRx.vhd
SimpleUart.vhd
BouncingLeds.vhd
Arty-A7-100-Master.xdc
TypeUtilityPkg.vhd