Google Summer of Code — Improving SDF support in Icarus Verilog

Introduction

I am excited to tell you that this summer, during Google Summer of Code, I will be working on improvements for Icarus Verilog under the umbrella of the FOSSi Foundation!

What is Google Summer of Code?

Well, you can read all about what GSoC is, but in short: it's a program created by Google to bring new contributors into open source software development. Anyone can apply for their favorite open source organization by proposing a project idea they would like to work on.

And how it came to be: after missing the possibility in Icarus Verilog to perform SDF back-annoated timing simulations for the SKY130 PDK I proposed to work on it - and was accepted.

You can read all about the project on its project page.

Next Steps and Challenges

Well, being accepted is only one step of my GSoC journey ;)

In the first phase of the project (which is going on right now), I'm trying to familiarize myself with the codebase and figure out how to properly implement the planned features.

The deliverables for this project are:

  1. Implementing the SDF INTERCONNECT feature
  2. Writing tests for the regression suite
  3. Example of a SDF back-annotated timing simulation using the SKY130 PDK

That is, these are the must-haves that I need to implement in order for the project to be considered a success. Of course, planning such a project is not easy and two things can happen:

The project goals were estimated incorrectly and I am already done a few weeks. (Yay, that would be great :) Then I could work on the optional goals.) Or I won't manage to complete them at all.

I will give my best to meet my goals.

Summary

All in all it is very exciting to be accepted and I think this will be a fun and interesting summer!

I plan to do a weekly blog post on the status of the project, so stay tuned.