A couple of weeks ago I met Dan Hafeman and another friend for beer in Sunnyvale. I’ve worked with Dan twice: first when he was an executive and co-founder of IKOS Systems, and again at the Educational Garden at Full Circle Farm in Sunnyvale, which he now manages.
The discussion we had turned to the best idea he ever had in his career: what we used to call “co-modeling”. It led to IKOS’ largest ever sale in 2000. Because I’m now more plugged into the verification world than he is (though he remains much more in touch with kale and broccoli), I was able to congratulate him that this is now a mainstream verification technique when using emulators.
Co-modeling was what we used to call transaction interfaces to emulators — in other words, using the Accellera standard SCE-MI 2 interface. When it was new, no one quite knew what to call it. The IKOS press release in 2000 called it the “data streaming portal” because that seemed the best way to position it.
Dan says the idea first popped up in 1985 when IKOS had to re-vamp its initial product offering. IKOS had created a product for driving signals into a hardware accelerator. Over time this evolved into the mixed-level interfaces to HDL simulation implemented by the NSIM accelerator, but this was not really the most efficient modeling interface. Accelerators and emulators may be fast, but interfaces to them are not. You want to make a single data transfer count for a lot (i.e., a lot of verification cycles) with a high-level transaction. (more…)