GSoC’21 Week 5: Generators

So what was this week all about, you ask. Well, generators.

Generators in FuseSoC are used to produce and specialize cores on demand. Core files contain a list of file sets with files written in SystemVerilog, C++, etc. These files are usually created to fulfil a general purpose in all use cases, but this is impossible in some instances. Certain applications require specialized files that are generated on demand based on certain parameters. This is where generators come into play.

Generators serve as a mechanism to generate core files on the fly during the FuseSoC build flow. There are 3 main components required for generating core files during the build flow:

The generate section of the above core shows the generator being referenced and the value of the parameter channels being defined.

I hope this gives everyone a fair bit of understanding of FuseSoC generators and their usage.

Week-5 updates

  • Created FuseSoC generator for bsg_round_robin_arb
  • Ported testbenches for bsg_dataflow and bsg_noc

Next week

  • Test core files and testbenches to verify their functionality
  • Modify some of the core files according to recently merged PRs
  • Start working on hardened memory flow



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

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