Testing digital hardware has never been an easy job, and it won’t get easier any time soon. But that doesn’t mean writing test code can’t be enjoyable and productive! Cocotb, an approach to use Python as verification language, is bringing the joy back to verification. It allows developers to start with small, directed testbenches, and evolve them into more thorough constraint-random tests. Much has been said in the past about directed tests and system-level tests with cocotb. In this talk, we’ll explore how to design more advanced constraint random testbenches. We’ll look at the different approaches for constraint random verification in cocotb and how you can turbocharge your next cocotb test problem!

Agenda

  • A very quick cocotb introduction
  • What is constraint random verification?
  • ow to use constraint random with cocotb:
    • different approaches
    • A look at code examples

The most error prone FPGA corner cases

Cycle related corner cases are probably the worst and main reason for undetected bugs on many FPGAs. To explain this in a simple way, – a cycle related corner case is for instance if you have an event counter where the number of counted events is critical and you read and reset this counter at regular intervals.

read more