Closed M0stafaRady closed 9 months ago
After reviewing the implementation. this seems to be intended so the receiving side would sample at the half bit received. @shalan is this the case ?
This is how it works. We sample at the middle of the received bit. That is why we wait for the time of a half bit when we receive the start bit.
The 2 modules
UART_TX
andUART_RX
have 2 different timing implementation for the start bit. The fsm inUART_RX
waits half the number of samples, however the same state in theUART_TX
waits the full number of samples. https://github.com/efabless/EF_UART/blob/a99c27adaf30e3da114f6e19d30105970e83a741/hdl/rtl/EF_UART.v#L320-L322https://github.com/efabless/EF_UART/blob/a99c27adaf30e3da114f6e19d30105970e83a741/hdl/rtl/EF_UART.v#L487-L490