In a team environment, verification engineers push code changes every day, and sometimes several times a day, to a shared repository. Each change has the potential to introduce new bugs into the design. Accordingly, when many changes are being made, it is difficult to pinpoint which one introduced new bugs, and much time can be wasted backtracking. Continuous Integration (CI) can help solve the problem by automatically running predefined tests every time a push to the repository is made. You can create a set of scripts that execute tests every time a change is submitted. There’s no need to backtrack through previous changes as the bugs will be in the most recent push – and should be easier to find because of that.

There are several CI tools available such as Gitlab and Jenkins. In this webinar, we will be looking at these two tools and demonstrate how you can integrate Riviera-PRO into them – to run simulations every time there is a code change. We will walk through the various steps and scripts you will need to create to automate the process of CI. We will also look at how to generate and view coverage in these tools, plus we’ll show you how improvements can be made to the scripts to accelerate the simulations.


  • Introduction to CI
  • License and software requirements
  • Steps to create the CI flow
  • Live-Demo
  • Conclusion
  • Q&A

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