-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Start bit is to short #8
Comments
Do you have a reproducer? I just reran the test case TbUart_SendGet1.vhd and the start bit looks good. |
I'll drive home and run the OSVVM regression test can check it there too. |
When checking
Further findings in the UART VCs:
|
Internally UART hardware is typically synchronous to a 16x or 32x reference clock. That reference clock is independent from the other UART with which it is communicating. In fact their internal reference clocks can differ by a small percentage and the transfer will be successful. That said the UARTs use of a 1X clock was just a lazy implementation. |
Wrt 1.5 stop bits, my notes show that that was only use with 5 bit transfers and popular uarts 16550 used the same control value to select both 1.5 and 2 stop bits - which one you got was a function of the number of data bits you sent. Is there something that supports 9 data bits in a uart? |
Noted that there are a few extra signals here and there. Open to accepting a pull request to fix these. |
Once the VC is updated to support a 16x clock, the test case delays you want to use should be expressed as multiples of the 16x clock or at least that is the granularity you should get. |
When checking the output waveform of OSVVMs UART TX model, it was noticed the Start-bit is to short (half the bit-time).
The transmitted sequence is
0x45 = 0b01000101
, sos10100010S
(s = start-bit, S = stop-bit), no parity was used, baudrate is 115.200 kBd.The text was updated successfully, but these errors were encountered: