SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Assembling your own
IDE for hardware design
Dr. Ir. Philippe Faes
Dr. Ir. Hendrik Eeckhaut
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
What is Eclipse?
● Integrated Development Environment
● Community
● Modular
● Extensible
● Multi-language
Industry standard in HW design community
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.
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
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
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...
How to create documentation
● Doxygen (all languages)
● JavaDoc (Java)
● Sigasi documentation generator (VHDL)
● HTML
● Wikitext / Markdown
● LaTeX
● See which files have changed since the
latest commit
● Commit, annotate (praise), diff
Supporting:
● Subversion
● GIT
● Clearcase
● Perforce
● ...
Version control
Warnings
● Java:
○ Java annotations:
// @SuppressWarnings(“unused”)
● Language independent:
○ MarkerManager:
-- @suppress
● 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
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
Domain Specific languages
Refrigerator description
Cooling algorithm
Code Generation
C-code
Documenation
Domain specific
simulator
http://www.voelter.de/data/presentations/RefrigeratorsAndDSLs.pdf
The Eclipse Marketplace
The Eclipse Marketplace is where you
find all these nice plugins.
https://marketplace.eclipse.org/
or
Click Help > Eclipse Marketplace…
List of interesting plugins
https://marketplace.eclipse.org/content/mylyn-wikitext
https://marketplace.eclipse.org/content/sigasi-vhdl-plugin
https://marketplace.eclipse.org/content/marker-manager
https://eclipse.org/dltk/ (used for Tcl)
https://marketplace.eclipse.org/content/pydev-python-ide-eclipse
https://marketplace.eclipse.org/content/open-explorer
https://marketplace.eclipse.org/content/mousefeed
https://marketplace.eclipse.org/content/eclox (for Doxygen)
https://marketplace.eclipse.org/content/anyedit-tools (editor extensions)
List of interesting plugins
Revision control:
https://marketplace.eclipse.org/content/egit-git-team-provider
https://marketplace.eclipse.org/content/subversive-svn-team-provider
https://marketplace.eclipse.org/content/p4eclipse
http://sourceforge.net/projects/eclipse-ccase/ clearcase
Mylyn connectors
http://www.eclipse.org/mylyn/
Free trial
Get a free 2-month trial of the Sigasi IDE:
http://www.sigasi.com/plc2-2015

Mais conteúdo relacionado

Mais procurados

[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
rahulbot
 
Nh php may 2014 - composer
Nh php   may 2014 - composerNh php   may 2014 - composer
Nh php may 2014 - composer
David Weingart
 
Clang Analyzer Tool Review
Clang Analyzer Tool ReviewClang Analyzer Tool Review
Clang Analyzer Tool Review
Doug Schuster
 

Mais procurados (20)

Goodpractice
GoodpracticeGoodpractice
Goodpractice
 
Clang compiler `
Clang compiler `Clang compiler `
Clang compiler `
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
 
DeViL - Detect Virtual Machine in Linux by Sreelakshmi
DeViL - Detect Virtual Machine in Linux by SreelakshmiDeViL - Detect Virtual Machine in Linux by Sreelakshmi
DeViL - Detect Virtual Machine in Linux by Sreelakshmi
 
Nh php may 2014 - composer
Nh php   may 2014 - composerNh php   may 2014 - composer
Nh php may 2014 - composer
 
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
 
ProjectTox: Free as in freedom Skype replacement
ProjectTox: Free as in freedom Skype replacementProjectTox: Free as in freedom Skype replacement
ProjectTox: Free as in freedom Skype replacement
 
Clang Analyzer Tool Review
Clang Analyzer Tool ReviewClang Analyzer Tool Review
Clang Analyzer Tool Review
 
BKK16-207 VLANd in LAVA
BKK16-207 VLANd in LAVABKK16-207 VLANd in LAVA
BKK16-207 VLANd in LAVA
 
Hacking - Breaking Into It
Hacking - Breaking Into ItHacking - Breaking Into It
Hacking - Breaking Into It
 
AV Evasion with the Veil Framework
AV Evasion with the Veil FrameworkAV Evasion with the Veil Framework
AV Evasion with the Veil Framework
 
Unicorn: The Ultimate CPU Emulator by Akshay Ajayan
Unicorn: The Ultimate CPU Emulator by Akshay AjayanUnicorn: The Ultimate CPU Emulator by Akshay Ajayan
Unicorn: The Ultimate CPU Emulator by Akshay Ajayan
 
Ari xivo astricon_2016
Ari xivo astricon_2016Ari xivo astricon_2016
Ari xivo astricon_2016
 
What you most likely did not know about sudo…
What you most likely did not know about sudo…What you most likely did not know about sudo…
What you most likely did not know about sudo…
 
Delving Deeper Into OSGI Modularity
Delving Deeper Into OSGI ModularityDelving Deeper Into OSGI Modularity
Delving Deeper Into OSGI Modularity
 
The Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while PersistingThe Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while Persisting
 
Hacking the Linux Kernel - An Introduction
Hacking the Linux Kernel - An IntroductionHacking the Linux Kernel - An Introduction
Hacking the Linux Kernel - An Introduction
 
An EyeWitness View into your Network
An EyeWitness View into your NetworkAn EyeWitness View into your Network
An EyeWitness View into your Network
 
OSVR Client Application Design
OSVR Client Application DesignOSVR Client Application Design
OSVR Client Application Design
 
Firewalls and Virtualization - pfSense Hangout June 2014
Firewalls and Virtualization - pfSense Hangout June 2014Firewalls and Virtualization - pfSense Hangout June 2014
Firewalls and Virtualization - pfSense Hangout June 2014
 

Semelhante a Plc2 2015 your own ide

Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the Autotools
Scott Garman
 

Semelhante a Plc2 2015 your own ide (20)

Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Introduction to containers
Introduction to containersIntroduction to containers
Introduction to containers
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020Friction Logging and Internal Advocacy, DevRel/Asia 2020
Friction Logging and Internal Advocacy, DevRel/Asia 2020
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
Electron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologiesElectron JS | Build cross-platform desktop applications with web technologies
Electron JS | Build cross-platform desktop applications with web technologies
 
Pentester++
Pentester++Pentester++
Pentester++
 
FrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitFrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open Toolkit
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 
Development and deployment with composer and kite
Development and deployment with composer and kiteDevelopment and deployment with composer and kite
Development and deployment with composer and kite
 
Scaling xtext
Scaling xtextScaling xtext
Scaling xtext
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
Getting started with drupal 8 code
Getting started with drupal 8 codeGetting started with drupal 8 code
Getting started with drupal 8 code
 
Don't Fear the Autotools
Don't Fear the AutotoolsDon't Fear the Autotools
Don't Fear the Autotools
 
DSD-INT 2015 - Delft3D 4 open source workshop - Adri Mourits
DSD-INT 2015 - Delft3D 4 open source workshop - Adri MouritsDSD-INT 2015 - Delft3D 4 open source workshop - Adri Mourits
DSD-INT 2015 - Delft3D 4 open source workshop - Adri Mourits
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering LabVoxxed days Vilnius 2015 - Android Reverse Engineering Lab
Voxxed days Vilnius 2015 - Android Reverse Engineering Lab
 

Mais de Sigasi

Plc2 2015 first time right coding
Plc2 2015 first time right codingPlc2 2015 first time right coding
Plc2 2015 first time right coding
Sigasi
 
EclipseCon Europe 2011
EclipseCon Europe 2011EclipseCon Europe 2011
EclipseCon Europe 2011
Sigasi
 

Mais de Sigasi (8)

The future of teaching hdl with Sigasi Studio
The future of teaching hdl with Sigasi StudioThe future of teaching hdl with Sigasi Studio
The future of teaching hdl with Sigasi Studio
 
Domain specific languages in eclipse with Xtext (Zeus, UGent)
Domain specific languages in eclipse with Xtext (Zeus, UGent)Domain specific languages in eclipse with Xtext (Zeus, UGent)
Domain specific languages in eclipse with Xtext (Zeus, UGent)
 
Creating your own coding style
Creating your own coding styleCreating your own coding style
Creating your own coding style
 
Shortening the feedback loop: faster and better code development
Shortening the feedback loop: faster and better code developmentShortening the feedback loop: faster and better code development
Shortening the feedback loop: faster and better code development
 
Plc2 2015 first time right coding
Plc2 2015 first time right codingPlc2 2015 first time right coding
Plc2 2015 first time right coding
 
Graphical Programming is Dead
Graphical Programming is DeadGraphical Programming is Dead
Graphical Programming is Dead
 
Building a software business — lessons learned
Building a software business — lessons learnedBuilding a software business — lessons learned
Building a software business — lessons learned
 
EclipseCon Europe 2011
EclipseCon Europe 2011EclipseCon Europe 2011
EclipseCon Europe 2011
 

Plc2 2015 your own ide

  • 1. Assembling your own IDE for hardware design Dr. Ir. Philippe Faes Dr. Ir. Hendrik Eeckhaut
  • 2. 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
  • 3. What is Eclipse? ● Integrated Development Environment ● Community ● Modular ● Extensible ● Multi-language Industry standard in HW design community
  • 4. 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.
  • 5. 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
  • 6. 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
  • 7. 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...
  • 8. How to create documentation ● Doxygen (all languages) ● JavaDoc (Java) ● Sigasi documentation generator (VHDL) ● HTML ● Wikitext / Markdown ● LaTeX
  • 9. ● See which files have changed since the latest commit ● Commit, annotate (praise), diff Supporting: ● Subversion ● GIT ● Clearcase ● Perforce ● ... Version control
  • 10. Warnings ● Java: ○ Java annotations: // @SuppressWarnings(“unused”) ● Language independent: ○ MarkerManager: -- @suppress
  • 11. ● 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
  • 12. 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
  • 13. Domain Specific languages Refrigerator description Cooling algorithm Code Generation C-code Documenation Domain specific simulator http://www.voelter.de/data/presentations/RefrigeratorsAndDSLs.pdf
  • 14. The Eclipse Marketplace The Eclipse Marketplace is where you find all these nice plugins. https://marketplace.eclipse.org/ or Click Help > Eclipse Marketplace…
  • 15. List of interesting plugins https://marketplace.eclipse.org/content/mylyn-wikitext https://marketplace.eclipse.org/content/sigasi-vhdl-plugin https://marketplace.eclipse.org/content/marker-manager https://eclipse.org/dltk/ (used for Tcl) https://marketplace.eclipse.org/content/pydev-python-ide-eclipse https://marketplace.eclipse.org/content/open-explorer https://marketplace.eclipse.org/content/mousefeed https://marketplace.eclipse.org/content/eclox (for Doxygen) https://marketplace.eclipse.org/content/anyedit-tools (editor extensions)
  • 16. List of interesting plugins Revision control: https://marketplace.eclipse.org/content/egit-git-team-provider https://marketplace.eclipse.org/content/subversive-svn-team-provider https://marketplace.eclipse.org/content/p4eclipse http://sourceforge.net/projects/eclipse-ccase/ clearcase Mylyn connectors http://www.eclipse.org/mylyn/
  • 17. Free trial Get a free 2-month trial of the Sigasi IDE: http://www.sigasi.com/plc2-2015