[GSoC2016] - Plugin for Quartus II EDA-tool integration

195 views
Skip to first unread message

Georgiy Zhemelev

unread,
Mar 15, 2016, 2:08:19 PM3/15/16
to Jenkins Developers
Hello, 

My name is Georgiy and I live in Saint-Petersburg, Russia. I study Information Science at SPbPU and at the moment I'm in my 3rd year.

My university collaborates with Altera corporation which is famous for its FPGA boards and EDA-tools for FPGA design. One of them is Quartus II (recently renamed into Quartus Prime) that has an almost full-featured free version.

The fact is, Quartus II provides very functional command-line interface and supports Tcl scripting. So it's possible to create a plugin for Jenkins to integrate it with Quartus II and make the FPGA design process a lot easier! :) Even small FPGA projects take considerable time to build as there are dozens of utilities incorporated into the design flow - that's why CI would be useful for big projects which can take very long time to build. And automation of testing and verification would be very useful, too.

I think that such a plugin would be quite helpful for developers that work with Quartus II especially considering the fact that for now there are no EDA-integration plugin for Jenkins at all (I've checked plugin repositories, too). 

Personally I am interested in that project ("Plugins for EDA and Embedded Dev. tools integration") and I have all the skills that are required for it:
  •  basic knowledge of Jenkins (as a user);
  •  basic knowledge of Java programming language (apart from study projects I created a game for Android and took part in developing an application that automates work with log files in distributed systems);
  •  hands-on experience with Quartus II (almost 1 year) and a prototyping board (prodvided by the university).

Oleg Nenashev

unread,
Mar 15, 2016, 6:03:34 PM3/15/16
to Jenkins Developers, Martin d'Anjou
Hi Georgiy,

I've added Martin (the potential mentor) to Cc. Yes, Quartus is in the scope of this project area.

My recommendation would be to start from automating the flow for one of your student projects using built-in Jenkins features. FYI there is a solution page, which may give you links to the current Jenkins & FPGA automation approaches.

In the case of Jenkins, we would be interested to get some advanced reporting and visualization.
Build steps are covered by Quartus CLI tools well, so IMHO it has lower priority (but can be implemented as well).

Examples for reporting features (aggregated thoughts from Martin and me):
* Timing report summary per build (worst case slack, total negative slack, total unconstrained paths, ?)
* Resource utilization (PLLs, LUTs, IOs, mems, etc.)
* Better visualization of Quartus build logs in Jenkins (keywords: Build Failure Analyzer Plugin, Log Parser, Collapsing Console Sections)
* Maybe: publishing of simulation reports and coverages from integrated tools like ModelSim-Altera

There could be tabular reports per build (per run), and a trend plots per project. The plugin could have the option to fail the build if the timing report fails to meet some user specified criteria (e.g. designer wants no unconstrained paths, a limit on worst case slack, max total negative slack, etc).

Best regards,
Oleg Nenashev

вторник, 15 марта 2016 г., 19:08:19 UTC+1 пользователь Georgiy Zhemelev написал:

Georgiy Zhemelev

unread,
Mar 17, 2016, 1:13:50 PM3/17/16
to Jenkins Developers, martin....@gmail.com
Thanks for your answer, Oleg!

I have successfully built a student project using Jenkins yesterday. In case of advanced reporting, I think that it's really good idea. But meanwhile there has appeared a problem - I've read in the GSoC Student Guide that "GSoC should be treated as a full-time job. If you have more than a few hours a week of extra commitments, you probably should skip GSoC".

The problem is, that GSoC starts on the 23rd of May while I have exams in my university in the second half of June. Clearly, the beginning of June will be very hot time, too. So in June I will not be able to spend more than 6-7 hours a week for GSoC.

In that case, how do you estimate the amount of time that must be spent for that project with Quartus? Will I be able to combine GSoC with my studies for a month without detriment to both of them?

среда, 16 марта 2016 г., 1:03:34 UTC+3 пользователь Oleg Nenashev написал:

Oleg Nenashev

unread,
Mar 18, 2016, 7:23:50 AM3/18/16
to JenkinsCI Developers
Hi Georgiy,

I'm afraid that "6-7 hours a week for GSoC" may be not an option for reviewers from Google.
You still can apply, but the decision will be made by reviewers from Google.

Do you have a summer practice at your university on this year? IIRC yes.
In such maybe you could work on this project as a part of it instead of GSoC.

BR, Oleg

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/tgIPayAcOEM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/1fcaa4d1-22f4-463d-b4b5-4144bf76d165%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Georgiy Zhemelev

unread,
Mar 19, 2016, 11:10:20 AM3/19/16
to Jenkins Developers
Hi Oleg,

I've given this problem plenty of thought and decided that I would rather skip GSoC this year as I won't be able to concentrate on it.

Speaking about practice, I already have some options there but I will think about your suggestion.

пятница, 18 марта 2016 г., 14:23:50 UTC+3 пользователь Oleg Nenashev написал:
Reply all
Reply to author
Forward
0 new messages