DVCON 2017 - Balancing Emulation and Prototyping
Hardware/software verification is all about having the right core engines. All engines need to be at their best - from formal verification, that helps you to avoid wasting cycles on things you shouldn’t simulate, through simulation with its fast turnaround, sophisticated test benches and superior debug for hardware, through emulation increasing speed to a range that is tolerable for software developers all the way to FPGA based prototyping, sacrificing some visibility and hardware debug in lieu of faster speed making software developers more comfortable.
Recently, focus has much increased on how to best use these engines together and how to execute designs (and their test benches) back and forth between them. The word “congruence” comes up in this context – same inputs have to create the same outputs. Last week, Bernard Murphy published a discussion I recently had with him – he called it “Aspirational Congruency”. Bernard recapped my thoughts on the topic well.
“The aspiration is to be able to start software development and validation while the RTL for the design is still in some level of flux. To do this it is essential to have congruence between emulation and prototyping, in setup and in modeling. Prototype setup should approach a push-button step given a functioning emulation and should compile as fast as possible (within as little as a day if feasible) to support software development staying nearly in sync with hardware evolution. And in modeling the models the hardware team and the software team are using should be congruent in behavior.”
I had previously mused on the topic in a blog called “Balancing Emulation And FPGA-Based Prototyping For Software Development”, referring to a real-world customer example from Amlogic from DAC 2016 last year. The trend is definitely getting stronger and definitely expect this to be a hotly discussed topic next week at DVCON 2017 in San Jose. You can meet me at Tuesday’s lunch panel “Application-Specific Verification from Edge Nodes Through Hubs, Networks, and Servers – Are the Requirements All the Same?” and during Thursday’s tutorial “Reinventing SoC Verification – It Is About Time.”
See you there!