“Hi Warren and congrats for this excellent series of post.
I completely agree with the idea of having IP blocks that include not only the desired function, but also a bundle of verification functions that help designers to reach their ultimate goal: having a fully working system on time and within budget.
In my area of expertise – motor control software IP – this is particularly important since the application is the management of energy and if an error occurs, this can lead to important system damage (i.e. burn a motor / power stage). Not just a simple “system reboot”.
However, the design of such verification function is a field of expertise in itself that’s entirely related to the expertise domain (i.e. motor control, this is true also for other complex applications such as image processing). Also, the translation of those functions into a form that’s usable by a third-party (which can be internal or external) has also a cost (testing, documentation, etc.).
This is true for DSP/MCU-based design which are only SW configurable devices. Hence, for FPGA-based designs, which have an order of complexity higher than DSP/MCU based design (because of the programmability of the HW), it is obvious that it is also true.
I think the fullfillement of those needs belong to 3rd party system-level IP providers (such as Alizem in the field of motor control), i.e. who package their domain expertise in the form of a licensable IP products.
This is exactly the topic I have presented last month at the IEEE Industrial Electronics Society (IES) Annual meeting for which I have been invited speaker of the Industry Forum. You can access my presentation on my blog:
The conclusion of this presentation is: the role of 3rd-party system-level IP providers is to provide products that makes it so easy to the system designers that they can bring their own system to the next level (i.e. focus on their true product differentiation).
Just like Google did with its “self-driving” car.
Best Regards, Marc.”