Plugin(s) for Electronic Design Automation tools

Project goal: Create a new Jenkins plugin for one of widely used EDA tools

Skills to study/improve: Java, EDA Tools

Details

The idea is to create a Jenkins plugin or a Pipeline Shared library for one of widely used EDA tools. Both ASIC or FPGA design flow are acceptable, the tool should be proposed by the potential student. Open-source EDA tools would be preferable (e.g. Yosys, FuseSoC, ArachnePnR, icetools), but we also consider conditionally-free tools (like FPGA design EDAs).

Examples of tool integration:

  • Tool launch and publishing steps for Free-style and/or Pipeline jobs

  • Integration with Warnings Next Generation Plugin for analysis report parsing.

  • Integration with xUnit Plugin for test results parsing

  • Reporting of FPGA resource utilization (per build + trends)

  • Timing report trend publishing

  • Integrating UVM reports into Jenkins build and project pages

More details are available in the draft project idea.

Special requirements

In the case of FPGA tools integration, a prototyping board will be required unless the project can be done in simulation tools only.

Quick Start

The main objective for an applicant is to select EDA tools for the project. An applicant is expected to define a list of tools for a project and to come up with some automation use-cases which could be implemented in a Jenkins.

Recommended steps:

  1. Explore a tool, review its automation capabilities (availability of command-line interfaces or API)

  2. Try running demos for a tool to explore it

  3. Try automating the demos in Jenkins using existing tools and plugins. Jenkins Pipeline is recommended

  4. Explore ways to improve the user experience by a plugin (tool management, configuration, reporting, etc.)

Project applications may benefit from some prototype implementations

Newbie-friendly issues

Currently there are only few relevant plugins in the Jenkins project. It is recommended to focus on generic newbie-friendly issues related to tool management and integrations in Jenkins.

References

Below you can find a list of existing plugins and libraries which can be used for inspiration:

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2020 project ideas