2196 - PAC Designer: If two PAC-Designer exception commands trigger at the same time which one has priority?
If user create several exceptions in the LogiBuilder code and they trigger at the same time there is no way to predict which exception will have priority. It becomes a race condition at this point.
This is NOT recommended since the sequence may have different reactions on different devices or at different conditions. Rather is is recommended to create a system where different exceptions are active during different portions of the sequence. To do this create some internal nodes which are controlled by the sequence. Then incorporate these internal nodes as a part of the exception condition such that only one exception condition is active at a time in the sequence. This way only the active exception condition would be executed but the active exception could change for different parts of the sequence.
Please note that there may appear to be a certain priority to the exception conditions when user are reviewing the ABEL code for a certain design. However the user would really need to examine the post-fit equations to see how the function was implemented in the device. Even if a certain design appears to have a priority based upon the post-fit equations, there is no guarantee that the software will compile and fit the logic for all designs with the same priority. A design with more logic may be required borrow inputs from an adjacent macrocell in one case and not in another so the extra gate delays become important and could affect the apparent priority. The software is not designed to produce a priority for multiple exception conditions so the results may vary. If the user assume that there is a priority it can lead to a design that appears unstable from one compile run to the next. It would not be wise to draw a conclusion about how all designs with multiple exception conditions will behave based upon a single example design.