R2020b Embedded Coder uses De Morgan's laws for NAND and NOR blocks

6 views (last 30 days)
I noticed R2020b Embedded Coder uses De Morgan's laws when generating C-code for NAND and NOR Logical Operator blocks.
Is there an option please to switch the new behavior off?
Example of older Matlabs C-code: NAND = !(In1 && In2); NOR = !(In3 || In4);
Example of R2020b EC C-code: NAND = ((!In1) || (!In2)); NOR = ((!In3) && (!In4));

Accepted Answer

Shubham Rawat
Shubham Rawat on 6 Feb 2021
Hi Martin,
In my information we cannot change this behaviour to old version.
Even if we use basic AND and OR gates and create that logic with your own. It is showing the same results, i.e. after applying De Morgans laws.
So you may change your working according to it, OR you may use older versions of Simulink.
Hope this Helps!
  1 Comment
Martin Hlavacek
Martin Hlavacek on 8 Feb 2021
Thank you for you answer. What is please the reason for such a strict application of De Morgans laws, is it done to comply with some standards, like MISRA?

Sign in to comment.

More Answers (0)

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!