I see that OS-VVM is using protected types internally at the quite advanced level. I have done my share of coding in VHDL but am not very familiar with this type of construct. Any suggestions how to improve my understanding?
Maybe it’s a stupid question, but how far are we from being able to use protected types with signals instead of shared variables only? Do you know of any plans to add it to VHDL anytime soon? It feels like that would allow for much cleaner code in many situations.
Unfortunately, protected type method calls cannot span time (e.g. wait) because they are mutually exclusive. Multiple calls to the same variable’s same method execute one at a time from start to finish. This would require some sort of implicit wait (across time) in one call while another call finished. While possible, the effects of this are not well understood, and therefore not (yet) allowed.