Previous Page  24 / 84 Next Page
Information
Show Menu
Previous Page 24 / 84 Next Page
Page Background

I talked to Uri Tal last week, who has

just joined Cadence as a result of the

Rocketick acquisition. Prior to the

acquisition, he was Rocketick's CEO.

He gave me a little history. Rocketick

started development eight years ago.

They have a product called RocketSim

that accelerates logic simulation.

They started by using GPUs to do

this, but then switched to multi-

core CPUs. They can run on all the

cores in a socket, in practice up to

32 today, although like a surfer they

will ride that wave as the number of

cores per socket increases. I call this

Core's Law: the number of cores on

a processor doubles every two years.

6X for Verilog and SystemVerilog at

RTL level

10X for gate-level functional simulation

30X for gate-level DFT simulation

Another part of the value proposition

is that you don't need to change any

code, neither the RTL (or netlist) nor

the testbench. As a result, RocketSim

is in production use at many

leading system and semiconductor

companies. Intel Capital and NVIDIA

were investors and NVIDIA has

endorsed them (Intel doesn't endorse

EDA suppliers).

The sweet spot seems to be large

SoCs that are highly active, such as

stress tests. The speedups are less

with circuits that are not very active,

which you would expect. No simulator

needs to spend any time simulating

inactive parts of a circuit, and it is

obviously not possible to take less time

than none. The focus of RocketSim is

running complex simulations as fast

as possible, so latency rather than

throughput.

RocketSim block diagramUnder the

hood, a simulation with Incisive and

RocketSim runs the testbench on

Incisive and the design simulation

uses fine-grained parallelism to run on

multiple threads. During compilation,

the RocketSim engine's compiler runs

on the host machine, separating the

design from the testbench. During

runtime, a large portion of the

logic is offloaded to the RocketSim

parallel simulation engine, running

on standard multi-core servers,

while the testbench runs on the host

simulator. The PLI is used during

simulation execution to maintain the

state synchronization between the

compiled-code simulator running the

testbench and the RocketSim engine

running the design.

Simulation is challenging to parallelize

compared to something like a DRC

since there is at least a global clock

and potentially other high-activity

signals that don't have well-behaved

locality. When I was at Virtutech, we

What Is RocketSim? Why Did Cadence

Acquire Rocketick?

Paul McLellan, Cadence

24 l New-Tech Magazine Europe