Most SOCs include one or more embedded processor cores. While ZeBu is a generic platform for hardware debugging of any SOC, certain optimizations and customization are available to better serve software developers and to ease the mapping of the processor models in emulation.
Early SOC and SW development may leverage an Instruction Set Simulator (ISS) for the processor core, often written in C or SystemC, and operating at a higher level of abstraction than the SOC sub-system. An ISS can be integrated with ZeBu via a transactor (e.g. AMBA AXI) to provide a high-performance link to the rest of the emulated SOC.
Some embedded cores are available as Soft IP, so their RTL will be processed directly by the ZeBu compiler, and emulated along with the rest of the SOC design. Other cores are only available as hard macros, in which case EVE offers various solutions to integrate those cores into a complete emulation project.
For some cores, EVE also offers sample memory sub-systems so you can quickly build a software development platform, that you can later refine to include your entire SOC. In effect, those become equivalent to a fast ISS, running an order of magnitude or more faster than a standard software ISS, and with perfect cycle accuracy, since the model is the actual processor RTL.
Debugging software on the real design is a key benefit of fast emulation. EVE has developed close partnerships with the embedded processor vendors to provide a closer integration between ZeBu and their software development toolchain. With ISS integration, SW debugging is available through the built-in ISS capabilities. For Hard IP cores, a dedicated JTAG port would be used to connect to the SW debugger. A JTAG pod can also be leveraged for Soft IP (RTL) cores, through ZeBu's Smart-ZICE or Direct-ICE interfaces. Alternatively for Soft IP, EVE also offers the virtualization of interfaces such as JTAG, Ethernet and UART, which enable seamless remote connections to the SW debugger.