K
KJ
Guest
On Thursday, March 5, 2015 at 5:59:00 AM UTC-5, Weng Tianxiang wrote:
You provided the examples.
I've already shown that it would not under common situations.
The only 'more info' that is needed is to code properly. If something is mutually exclusive, then it should be coded as a single signal that has multiple values, not as separate signals. Although as I've demonstrated, separate signals can still be properly analyzed by synthesis and the optimum solution obtained without 'orif'.
Kevin Jennings
On Wednesday, March 4, 2015 at 9:59:17 PM UTC-8, Weng Tianxiang wrote:
You don't have to look for mutually exclusive conditions in any artificial
examples.
You provided the examples.
Just look at any of your successful projects, check any of complex if-
statements to see if there are any contiguous conditions which are
mutually exclusive in an if-statement. If you find some, change related
"elsif" to "orif", then this part of logic would run faster than the
original one without effecting other logic.
I've already shown that it would not under common situations.
No matter it is a partial or a full if-statement.
No matter it is a data bus or a state machine logic.
No matter it is a top level if-statement or a deeply nested if-statement.
That is the real magic the keyword "orif" plays: you provide more info and
the compiler should generate more efficient logic accordingly.
The only 'more info' that is needed is to code properly. If something is mutually exclusive, then it should be coded as a single signal that has multiple values, not as separate signals. Although as I've demonstrated, separate signals can still be properly analyzed by synthesis and the optimum solution obtained without 'orif'.
Kevin Jennings