verilog-uart icon indicating copy to clipboard operation
verilog-uart copied to clipboard

Warning: This code does not work properly

Open AgnerF opened this issue 5 years ago • 3 comments
trafficstars

The transmitter fails to set the stop bit high. The receiver is unstable because it does not sample in the middle of the clock interval.

AgnerF avatar Nov 04 '20 06:11 AgnerF

Here is a useful alternative https://github.com/nandland/nandland/tree/master/UART

AgnerF avatar Nov 04 '20 06:11 AgnerF

Check out this fork, too. It fixes those issues and was tested on an FPGA: https://github.com/ccattuto/verilog-uart

ccattuto avatar Apr 27 '24 09:04 ccattuto

I noticed that the transmitter does not set the the stop bit (out = 1'b1) https://github.com/hell03end/verilog-uart/blob/cad12f92f848973e8f63c95fe7a9af0601b8773b/uart/Uart8Transmitter.v#L56-L60

Also, I believe an error also occurs when the done signal is set to 1 for the first time. Busy and Done are both 1, but the code never sets busy and done to 1 in the same cycle. According to the image below, its this is the case, so I assume the image is wrong tx_func_model

Nado15 avatar Apr 27 '24 18:04 Nado15