Forum Discussion
UART receiver loopback characters VHDL
- 3 years ago
Hi Tex,
You may check on this first example design link:
https://github.com/Domipheus/UART
https://domipheus.com/blog/a-uart-implementation-in-vhdl/
Make appropriate connection between O_tx and I_rx to form a loopback. The simulation result like below:
This is second example design link (apparently state machine):
https://nandland.com/project-7-uart-part-1-receive-data-from-computer/
https://www.edaplayground.com/x/7Em
https://www.edaplayground.com/x/5vEh
https://nandland.com/7-segment-display/
Make appropriate connection between o_TX_Serial and i_RX_Serial to form a loopback. The simulation result like below:
Thanks,
Best Regards,
Sheng
Thank you sheng this helped me alot..
for the link 1
when i try to assain pins there are showing more than 50
please tell me which pins should i assaign only 3 enough ???
regards,
Tex
Hi Tex,
Pins that should be assgined:
I_clk
I_reset
I_txData (If you're getting the data externally from the board, then needed. Otherwise, not needed)
O_tx, I_rx (Needed as to make loopback connection)
O_rxData (If you're showing the received data externally to the board like LED or Monitor, then needed. Otherwise, not needed)
For this I_txSig, you can comment out this input port and the rest in the code if you're not using it.
For I_rxCont and I_clk_baud_count, you can declare them as signal instead of input port so that not need to make any pin assignment. For example like below:
signal I_clk_baud_count : STD_LOGIC_VECTOR(15 downto 0) := X"01B2"; -- 115200bps @ 50Mhz Clk
signal I_rxCont : STD_LOGIC := '1';
Pins that not needed to be assigned (monitor and debug purpose):
If you want to assign, you can assign to for example like LED respectively.
O_txRdy
O_rxSig
O_rxFrameError
D_rxClk
D_rxState
D_txClk
D_txState
Thanks,
Best Regards,
Sheng