Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • Meet DCRouter
  • Glossary
  • Part 0: What Verification Is8
  • Part 1: What Can Go Wrong11
  • Part 2: Specifications as Checkable Rules8
  • Part 3: Observability and Controllability7
  • Part 4: Stimulus11
  • Part 5: Checking11
  • Part 6: Coverage10
  • Part 7: Formal and Simulation10
  • Part 8: Verification Levels and Reuse8
  • Part 9: Planning and Risk9
  • Part 10: Emulation and Prototyping8
    • Why Cycles Matter
    • Simulation Speed and Its Limits
    • Emulation
    • FPGA Prototyping
    • Virtual Platforms and Hybrids
    • Debug at Scale
    • Choosing the Platform
    • Drills: Emulation and Prototyping
  • Part 11: Post-Silicon Validation8
  • Part 12: Bug Economics8
  • Part 13: Debug7
  • Part 14: Sign-Off7
  • Part 15: Verification in Context8
  • Part 16: Case Studies5
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 10: Emulation and Prototyping
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 10: Emulation and Prototyping
  4. Emulation

Part 10 · Emulation and Prototyping · Senior (S)

Emulation

An emulator maps the RTL onto special-purpose hardware that runs it around a million cycles per second, with much of simulation's visibility. It is the platform for OS boot, long software and big random runs before silicon. What emulators do well, what they do badly (testbench speed, analogue, flexibility, cost), and how a design is brought up on one.

On this page

    Note

    Level: Senior (S) · Answers: How do we run enough cycles?

    Before this: Simulation Speed Limits

    The SoC containing DCRouter is compiled onto an emulator. The same RTL that ran at a thousand cycles a second in simulation now runs at around a million. The operating system boots in an hour and a half instead of two months. Then the team plugs in the UVM testbench used at chip level, and the speed drops back to a few thousand cycles a second: the testbench still runs on a workstation, and every cycle waits for it.

    What do emulators do well, and what do they do badly?

    The obvious answer, and why it breaks

    The obvious picture of an emulator is "very fast simulation": put the design on it and everything speeds up. Only the part mapped onto the emulator speeds up. Anything left on a host computer (a testbench, a reference model, a debug probe waiting for data) runs at host speed, and if the two exchange information every cycle, the emulator waits. Getting emulation speed means designing the verification for it.

    The idea: the design runs in hardware; keep the host out of the cycle loop

    Emulators do well

    Emulators do badly

    Run the full RTL at around a million cycles per second (fact V12)

    Run anything left on the host at host speed

    Boot OSs and run software before silicon

    Analogue, mixed-signal and some memories (modelled instead)

    Offer much of simulation's visibility (signal capture, triggers)

    Fast turnaround: compiling a large design takes hours

    Run long random tests to find rare corners

    Cost: expensive, shared hardware with queues

    Connect to real-world interfaces through speed adapters

    Exact timing of the real silicon (the design runs at emulator speed)

    Testbenches for emulation

    • Synthesisable parts run on the emulator: drivers and monitors written as hardware (transactors) run at emulator speed.

    • Communicate in transactions, not signals: the host sends a whole packet, the emulator side expands it into cycles; this is what keeps the host out of every cycle.

    • Embedded software as stimulus: tests running on the chip's processor need no host at all (lesson 8.5).

    • Checkers in the design: assertions synthesised onto the emulator check at full speed (lesson 8.3).

    Bringing a design up on an emulator

    Step

    Concern

    Compile and map the RTL

    Non-synthesisable constructs, memories, clocks; hours per compile

    Replace analogue and special blocks

    Models for PHYs, PLLs, analogue; behavioural memories

    Connect stimulus

    Transactors, software, or speed adapters to real devices

    Plan debug

    Which signals to capture, triggers, how deep a history (lesson 10.6)

    Validate the emulation build against simulation

    Run the same short tests on both and compare

    How real teams use emulation

    Practice

    Purpose

    Emulation for OS boot, driver bring-up and long software runs

    Software-scale questions answered before tape-out

    Transaction-based testbenches (accelerated verification)

    Simulation-style tests at emulator speed

    Long random and soak runs

    Rare corners and long-running bugs found

    Power and performance analysis on real workloads

    Activity data from billions of cycles (lesson 8.7)

    What breaks

    The opening story is the classic disappointment: a signal-level testbench connected to an emulator ran barely faster than simulation. Rewriting the drivers as synthesisable transactors that exchange whole packets with the host restored most of the speed. An emulator is only as fast as the slowest thing in its cycle loop.

    Why this matters

    Senior lens. Plan emulation as a verification environment of its own: synthesisable transactors, transaction-level host communication, embedded software tests, synthesised checkers and a debug strategy. Put the questions that need billions of cycles on it, and keep the queue for them.

    Interview

    Asked: "Emulation or FPGA prototype?"

    Weak answer: Emulation, because it's more accurate.

    Strong answer: It depends on the question. Emulation runs the full RTL around a million cycles a second with much of simulation's visibility and faster rebuilds than an FPGA prototype, so it suits OS boot, driver bring-up, long random runs and debugging hardware-software issues before silicon. FPGA prototypes run tens of millions of cycles a second but take longer to bring up, partition the design across FPGAs, and give much less visibility, so they suit software teams running long workloads on a stable design. Many projects use both.

    Follow-ups: (1) Why can a testbench slow an emulator down? (2) What is a transactor?

    Check yourself Why did plugging the signal-level UVM testbench into the emulator drop the speed to a few thousand cycles per second?

    The testbench ran on the host and exchanged signals every cycle, so the emulator waited for the host on each cycle.

    Check yourself Name two parts of a chip that usually need models on an emulator.

    Analogue or mixed-signal blocks such as PHYs and PLLs, and some memories.

    Key takeaways

    • Emulators run the full RTL around a million cycles per second, with much of simulation's visibility.

    • Anything left on the host runs at host speed: use transactors, transactions and embedded software.

    • Plan emulation as its own environment, with models, stimulus and debug designed for it.

    Keep going

    Next: Lesson 10.4, FPGA Prototyping. Speed, fidelity and debug trade-offs of FPGA prototypes.

    Related topics

    • Part 10 overview: Emulation and Prototyping

    Previous

    101 / 160

    Next: FPGA Prototyping

    Up next

    Up nextFPGA Prototyping

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Why Cycles Matter
    • Virtual Platforms and Hybrids
    • Debug at Scale