GSoC’21 Week 2: Lint lint lint

Another week another story to tell.

“It’s been a long week.” — Me on Tuesday

Before going on to the weekly report, I will continue the project description from where I left off last. So, now we know what BaseJump and FuseSoC are, why they are important and what a core is. Now moving onto the actual process or methodology of creating these FuseSoC cores.

The Process

The porting process is actually quite straightforward. Each core module must have a core file with which FuseSoC can recognise it and reference it across different cores. So, the first step is creating core files for BaseJump STL modules. The next step in the process would be adding targets for the cores. Targets are workflows or simulators that you would like to push the core through. A simple first target would be a verilator lint-only and the next one would be a verilator testbench. Along with the targets, for the correct functioning of the modules, we need to have all the parameters of each core defined in the core file and set as required for each target or left empty if we want to pass the default value.

Core File

For those who are curious about the structure of a core file, I have added below the first core file I made which was for the bsg_dff module.

Want to know more about the project? You will have to wait for the next blog ;) (or check out the repo)

Week-2 updates

  • Modified core that refused to lint with verilator by adding warning ignore tags.
  • Created core files for 28 modules in bsg_mem with lint targets.
  • Ported 16 testbenches for bsg_misc modules to work with verilator.

Next week

  • Finish porting testbenches for bsg_misc modules and begin porting testbenches for bsg_mem modules.
  • Create core files for bsg_cache modules with lint targets.
  • Take a look at generators in FuseSoC and attempt to create one for round robin arbitration unit.




GSoC Student Developer @ FOSSi || Undergraduate Researcher @ CVEST, IIIT-H

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How did I earned 6000$ from tokens and scopes in one day

Here’s a Secret: You Can Grow Search Traffic with JSON-LD and

Basic Numpy Code Snippets

A Data Pipeline for Go Trains Delay Analysis — Part 2

Why should you integrate software? | LiveAgent

Increasing webapp performance by 450%

66th Combined

3 Interviews — 5 Questions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adithya Sunil

Adithya Sunil

GSoC Student Developer @ FOSSi || Undergraduate Researcher @ CVEST, IIIT-H

More from Medium


The Grace Hopper Celebration

My Internship Experience at LetsGrowMore.

Auribises Technologies Internship Week 5