Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.
19688 Discussions

Timing constrain setting for uart

lipingx
Beginner
173 Views
I am thinking about how to set timing constrain for uart. It's actually sampled by FPGA internnal system clock. For example, if uart baudrate is set 115200 bps, I use FPGA pll clock = 50MHz is quite enough to sample each bit. But there is no external clock input for uart rxd or txd. So I think we don't need to do any set_input_delay or set_output_delay for rxd or txd. It doesn't matter how long it delays externally. There is no impact of FPGA to detect uart data. I need to set_false_path to and from for rxd and txd. Please let me know if my understanding is right and what's your common practice to handle uart rxd and txd pin for timing constraint setting.
0 Kudos
1 Solution
ak6dn
Valued Contributor III
154 Views

Your observations are correct. You are sampling an asynchronous signal using (I expect) a dual rank clocked synchronizer approach. So there is no timing constraint (setup/hold) applicable on the data input to that input register. It is totally asynchronous.

I have a very similar UART module in a design I have that samples the RX input at 50MHz. In the .sdc file I have:

   set_false_path -to [get_ports {UART_*}]

and no other timing constraints on the UART_* inputs.

View solution in original post

4 Replies
ak6dn
Valued Contributor III
155 Views

Your observations are correct. You are sampling an asynchronous signal using (I expect) a dual rank clocked synchronizer approach. So there is no timing constraint (setup/hold) applicable on the data input to that input register. It is totally asynchronous.

I have a very similar UART module in a design I have that samples the RX input at 50MHz. In the .sdc file I have:

   set_false_path -to [get_ports {UART_*}]

and no other timing constraints on the UART_* inputs.

Nurina
Employee
120 Views

Hello,


Does above comment help?


Regards,

Nurina


lipingx
Beginner
81 Views

Yes, thanks!

Nurina
Employee
68 Views

Hi,


I’m glad that your question has been addressed, I now transition this thread to community support. If you have a new question, Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


p/s: If any answer from community or Intel support are helpful, please feel free to mark as solution, give Kudos and rate 4/5 survey


Regards,

Nurina


Reply