Top Banner
Assembling your own IDE for hardware design Dr. Ir. Philippe Faes Dr. Ir. Hendrik Eeckhaut
17
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Plc2 2015 your own ide

Assembling your ownIDE for hardware design

Dr. Ir. Philippe FaesDr. Ir. Hendrik Eeckhaut

Page 2: Plc2 2015 your own ide

Overview

● Eclipse○ What is Eclipse○ Why is it so slow

● Installing○ Organizing Eclipse○ Installing multiple plugins

● Plugins○ Languages○ Create documentation○ Version Control○ Warnings○ Team: Mylyn

● Customization○ Domain Specific Languages (DSLs)

● The Eclipse Marketplace● List of interesting Plugins

Page 3: Plc2 2015 your own ide

What is Eclipse?

● Integrated Development Environment● Community● Modular● Extensible● Multi-language

Industry standard in HW design community

Page 4: Plc2 2015 your own ide

Why is Eclipse so slow?

Startup time is longer than notepad / Vim / ...

but: Think about what you get in return.

Getting on an airplane is a lot slower than getting into your car.

That does not make your car faster than an airplane.

Page 5: Plc2 2015 your own ide

Organizing Eclipse

● One or several Eclipse installations?● Update cycle

○ managed by IT department?○ never update?○ continually update?○ File > Import > Install > From Existing Installation

http://support.sigasi.com/Knowledgebase/Article/View/140

● Sharing settings across your team○ http://support.sigasi.com/Knowledgebase/Article/View/77

Page 6: Plc2 2015 your own ide

Installing multiple plug-ins

● Share with your colleagues○ Export / Import list of plugins

File > Export > Install > Installed software items ● Managed by your IT department

○ Genuitec SDC○ https://yoxos.eclipsesource.com/○ Eclipse Oomph (new)○ Local mirror

Page 7: Plc2 2015 your own ide

Languages

Dozens of languages supported.Java, most prominently. but also:● C / C++● Tcl ● Python● VHDL / (System)Verilog● XML / HTML / CSS● Wikitext (e.g. Markdown; used for documentation)● and much more...

Page 8: Plc2 2015 your own ide

How to create documentation

● Doxygen (all languages)● JavaDoc (Java)● Sigasi documentation generator (VHDL)

● HTML● Wikitext / Markdown● LaTeX

Page 9: Plc2 2015 your own ide

● See which files have changed since the latest commit

● Commit, annotate (praise), diff

Supporting:● Subversion● GIT● Clearcase● Perforce● ...

Version control

Page 10: Plc2 2015 your own ide

Warnings

● Java: ○ Java annotations:

// @SuppressWarnings(“unused”)

● Language independent:○ MarkerManager:

-- @suppress

Page 11: Plc2 2015 your own ide

● Find tasks (from issue tracker)● Track changes● Track which file you need for a task● Commit to version control, using correct task

reference

For example: GitHub, Trac, Jira, ...

Team connectors: Mylyn

Page 12: Plc2 2015 your own ide

Customization

● External Tools○ run a command, optionally based on selected file

● Custom builder○ automatically run command as part of compilation

● Process output of external tools○ generate warning markers in your source files

● Create a plugin○ plain plugin○ Xtext○ Zest

Page 13: Plc2 2015 your own ide

Domain Specific languages

Refrigerator description

Cooling algorithm

Code Generation

C-code

Documenation

Domain specificsimulator

http://www.voelter.de/data/presentations/RefrigeratorsAndDSLs.pdf

Page 14: Plc2 2015 your own ide

The Eclipse Marketplace

The Eclipse Marketplace is where you find all these nice plugins.

https://marketplace.eclipse.org/ or

Click Help > Eclipse Marketplace…

Page 16: Plc2 2015 your own ide

List of interesting plugins

Revision control:https://marketplace.eclipse.org/content/egit-git-team-provider https://marketplace.eclipse.org/content/subversive-svn-team-providerhttps://marketplace.eclipse.org/content/p4eclipsehttp://sourceforge.net/projects/eclipse-ccase/ clearcase

Mylyn connectorshttp://www.eclipse.org/mylyn/

Page 17: Plc2 2015 your own ide

Free trial

Get a free 2-month trial of the Sigasi IDE:http://www.sigasi.com/plc2-2015