11-15-2020 09:52 PM
Hello, clock generated by MMCM will fall in which group synchronous group or asynchronous group?
I have a MMCM which produces 3 clocks of different frequencies, but I have timing violations on inter clock groups and intra clock groups. In inter clock groups the violations are on output clocks of MMCM can I make them into asynchronous group.
11-15-2020 11:29 PM
You can make them asynchronous groups by constraints only when they are indeed asynchronous or the CDC paths timing between them is guaranteed so do not need timing analysis.
However, clocks generated from the same MMCM are synchronous as their phase relationships are known. Why do you want to set them asynchronous?
As for the timing errors in the inter clock paths, you need to analyze why they are failing timing? Then determine how to resolve those violations.
-vivian
11-15-2020 10:41 PM
After making these clock groups as asynchronous clocks, you have to use logic to promise correction of the data path crossing these clock groups. (Ex: Handshaking, Asynch FIFO...)
11-15-2020 11:19 PM
11-15-2020 11:22 PM
If you don't have any logic for crossing clock domains, you have to change your source code.
11-15-2020 11:29 PM
You can make them asynchronous groups by constraints only when they are indeed asynchronous or the CDC paths timing between them is guaranteed so do not need timing analysis.
However, clocks generated from the same MMCM are synchronous as their phase relationships are known. Why do you want to set them asynchronous?
As for the timing errors in the inter clock paths, you need to analyze why they are failing timing? Then determine how to resolve those violations.
-vivian
11-15-2020 11:51 PM
11-16-2020 12:10 AM
UG906 gives basic knowledge of timing analysis.
UG949 gives common causes to timing violation and corresponding solutions.
-vivian