idea-fasoc / OpenFASOC

Fully Open Source FASOC generators built on top of open-source EDA tools
https://openfasoc.readthedocs.io
Apache License 2.0
218 stars 93 forks source link

[GSoC] Common Python API #211

Open harshkhandeparkar opened 1 year ago

harshkhandeparkar commented 1 year ago

As a part of my GSoC project, a common Python API will be developed to simplify the Python code in the OpenFASOC generators, starting with the Verilog generation step. This issue will be used to discuss and track the progress of this project.

The Proposal

Full proposal on Github Gist.

OpenFASOC generators have Python code that runs each step in the generation process. Each generator has its separate Python code with values specific to the generator hardcoded. This proposal aims to create a common Python API (module) that exports functions for each step. Using this new API, the Python scripts in the existing generators will be simplified, and the process of creating a new generator will become easier.

This proposal also aims to use Mako, a Python templating library that uses a Python-like syntax to simplify and standardize the Verilog templates in the generators. First, a common function will be implemented for the Verilog generation step and tested on the temp-sense-gen generator.

Progress

This effort may help in https://github.com/idea-fasoc/OpenFASOC/issues/38.

chetanyagoyal commented 4 weeks ago

Can this be closed? @harshkhandeparkar

harshkhandeparkar commented 4 weeks ago

Can this be closed? @harshkhandeparkar

The DC-DC PR is still open although the API itself is complete. I was waiting for the DC-DC pr before closing this.