192 karma · joined August 18, 2021
https://en.wikipedia.org/wiki/Risk_matrix
Take a look at this risk matrix. It's divided into cells that are each assigned a category. If you assigned numbers to it, you'd get conflicting results:
1. Possible (3) x Catastrophic (4) = Very High (12)
2. Likely (4) x Critical (3) = High (12)
In this case, 12 can mean either High or Very High. Therefore the category is more important than the product.
So basically, the product is only meaningful if the categories are defined in terms of it, which I don't think is common. Really, I should have said you need the category, rather than the product.
GP said it depends on what the language does with that concept, and then I linked some extra info about what Ada and SPARK do with the concept.
As for whether it's useful ... it's absolutely useful.
Side effects break basic blocks. The smaller the basic blocks, the less optimization can be done.
Side effects also require special handling when using theorem provers. If you can specify that something should be free of side-effects, it's less work to requalify the system after making changes.
The purpose of SPARK is to be formally proven, which is why it implements the feature.
Interesting history of how there was supposed to be a difference, but the idea was dropped and then later revived by SPARK.
The problem is that you can't make every controller with an MCU, and you can't always make a competitive controller with an MCU.
There are already controller ICs that are configurable. In fact, modern controllers are a mix of analog and digital hardware. They do everything an MCU would do in that situation, but faster, less invasively, and with less power. Often, they do more than an MCU because they're not slowed down by an instruction cycle.
See my comment before last for an example of a software-configurable hardware controller.
Condition monitoring is a thing, and it's done with MCUs, DSPs, and FPGAs. But controllers sit on the non-isolated side of the gate driver, where they have basically no physical access to any useful signals. That's why condition monitoring is separate.
The lookup table idea is used for motor control. It's called a firing angle table. But that's a slower application.
But because of differences between GaN and Si, the selection of reasonably compatible controllers and gate drivers is smaller. For example, many ICs made for Si are underperformers for GaN, or they might need some "translation" circuitry because of different gate voltage requirements.
There are certainly many gains to be made with GaN-specific supporting ICs, but that hasn't really happened yet. My personal threshold for acknowledging a fundamentally different technology would be replacing all the Si in the gate drive loop with GaN. The idea is to not hold back the GaN switch from realizing its full potential with slower and less efficient Si.
The GaN switch itself is, of course, quite different from a Si power switch.
Here, Microchip markets this particular line of PIC MCUs as a "field-programmable switch-mode power controller". But weirdly I haven't seen that language on their main site.
https://mu.microchip.com/getting-started-with-cip-hybrid-pow...