Open side-bar Menu
 Real Talk
David Scott
David Scott
Dave Scott is Principal Architect at Real Intent. He has been at Real Intent for a little over one year and has gotten a lot better at table tennis, besides being apprenticed as R&D on Implied Intent Verification. He was drawn into EDA verification software development more than 20 years ago … More »

A Personal History of Transaction Interfaces to Hardware Emulation: Part 1

January 29th, 2015 by David Scott

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.


Figure 1. Block diagram showing testbench connection to an emulator/simulator via Standard Co-Emulation Modeling Interface (Courtesy of SCE-MI Accellera standard)

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.

When IKOS acquired Virtual Machine Works in 1996 for in-circuit simulation, Dan started to think again about those high-level interfaces. He talked to an IKOS Sales Manager who lined up two customers in ’97: one passed, thinking it too risky; the other took over the meeting in their excitement. They did not want to wait for IKOS, so started to develop something themselves.

I first heard of the idea in 1998. From a software point of view, it was no big deal. But how can you make models that use these transactions? We joined VSIA (the Virtual Socket Interface Alliance) hoping the industry would come up with an answer, but it did not. We launched the project in 1999, and two IKOS R&D staff worked with the customer on the modeling side. The trick was marrying the low-level buffer transfer into and out of the emulator with a high-level modeling language: SystemC.

Shortly after the product release, the dot-com bubble burst in the early 2000’s and, as I recall, we had just the one large customer for “co-modeling”. IKOS got sold, and in-circuit remained by far the dominant use mode of emulation.

In part two, I will share how the rest of the emulation world caught up to Dan’s vision.

Related posts:

Tags: , , , , , ,

2 Responses to “A Personal History of Transaction Interfaces to Hardware Emulation: Part 1”

  1. jeff sobieraj says:

    david, I worked with Dan during my 2 stints at IKOS as Western Area Sales Director, first from 1989-1995, then again from 1997-1998. We must have overlapped then. Dan and Bill Fazakerly pioneered the co-modeling for accelerators approach back in the early ’90s, before NSIM was introduced, by developing a Behavioral Co-Processor (BCP) that slid into the old IKOS 1900 systems. From there NSIM was designed natively to handle these tasks, and then of course things evolved even more when they bought VMW, needing to accelerate the communication with an emulator even more.

    If you ever happen to run into Dan again, tell him hello from Jeff Sobieraj

    thanks….will look forward to part II

  2. […] part one, I shared how Dan Hafeman, CTO at IKOS Systems, championed the use of transaction-level interfaces […]

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

DownStream: Solutions for Post Processing PCB Designs
Verific: SystemVerilog & VHDL Parsers

Internet Business Systems © 2016 Internet Business Systems, Inc.
595 Millich Dr., Suite 216, Campbell, CA 95008
+1 (408)-337-6870 — Contact Us, or visit our other sites:
TechJobsCafe - Technical Jobs and Resumes EDACafe - Electronic Design Automation GISCafe - Geographical Information Services  MCADCafe - Mechanical Design and Engineering ShareCG - Share Computer Graphic (CG) Animation, 3D Art and 3D Models
  Privacy Policy