Skip to content
This repository has been archived by the owner on Jan 26, 2025. It is now read-only.

Warning: This code does not work properly #3

Open
AgnerF opened this issue Nov 4, 2020 · 3 comments
Open

Warning: This code does not work properly #3

AgnerF opened this issue Nov 4, 2020 · 3 comments

Comments

@AgnerF
Copy link

AgnerF commented Nov 4, 2020

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
Copy link
Author

AgnerF commented Nov 4, 2020

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

@ccattuto
Copy link

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

@Nado15
Copy link

Nado15 commented Apr 27, 2024

I noticed that the transmitter does not set the the stop bit (out = 1'b1)

`STOP_BIT : begin // Send out Stop bit (high)
done <= 1'b1;
data <= 8'b0;
state <= `IDLE;
end

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants