[GSoC] Common Python API
Opened this issue · 2 comments
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
- Implement API functions for Verilog generation using Mako. (#212)
- Convert the
temp-sense-gen
generator to use the new API. (#212) - Documentation for the new API functions. (#212)
- Implement regression tests in the CI. (#212)
- Use the common module in other generators
- Implement a common module for simulations (with documentation and regression tests)
- Flow runner module? (Suggestion)
This effort may help in #38.
Can this be closed? @harshkhandeparkar
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.