eda start-up story from the trenches

18
Hendrik Eeckhaut, CTO EDA start-up story from the trenches

Upload: sigasi

Post on 25-May-2015

1.496 views

Category:

Technology


2 download

DESCRIPTION

How can a small, self-funded start-up ever build a commercial quality EDA (Electronic Design Automation) tool that has chance of survival in a multi-billion dollar market?The only way this is feasible, is through aggressive reuse, automation and agility.At Sigasi, we built a modern IDE for hardware description languages (VHDL) out of frustration with our old editors. We want to bring hardware designers all the power of Eclipse-based IDEs like the JDT: refactoring, navigation, intelligent auto-completion, etc.By building on top to the Eclipse platform we had a working GUI from day one. It is incredible what we can reuse out of the box. Our compiler is developed with ANTLR. Although VHDL is a very complex language, thanks to ANTLR we have written a recovering parser in about four man months. By leveraging ANTLR and Eclipse we could focus on our core competence, hardware design, without spending too much time on supporting technologies.Although the long term vision of our start-up is clear, the short term goals and circumstances change very rapidly. Since the only constant is change, we have to be extremely agile in order to respond to critical bugs, killer feature requests and sales opportunities. Business-wise, this implies releasing very early and very often. Technically this requires a strong testing framework.For a two-man team, it is just not possible to do a lot of manual testing on each bi-weekly release. A Hudson-based regression test server continuously builds and tests the entire application. For every commit we test our parser for every line of VHDL code we could find on the Internet. If a test or a build script fails, an array of lava lamps immediately brings a healthy doses of panic to our office. This usually results in immediate bug fixing and even more automated tests.In this short talk we will demonstrate how a two-man engineering team can build a refactoring IDE for a hardware language in less than twenty man-months. We will report on our experiences with Eclipse, the technologies and methodologies we use and the problems we encountered. We hope our story will stimulate new start-ups to use the power of Eclipse in their venture.

TRANSCRIPT

Page 1: EDA Start-up story from the trenches

Hendrik Eeckhaut, CTO

EDA start-up storyfrom the trenches

Page 2: EDA Start-up story from the trenches

Challenge

self funded, two man team

Commercial qualityElectronic Design Automation

tool

?

2

Page 3: EDA Start-up story from the trenches

Approach

Agility

3

AutomationReuse(Release soon, release often)

Page 4: EDA Start-up story from the trenches

About Sigasi

Software HardwareJava VHDL

4

Frustration during PhD: digital HW design

Page 5: EDA Start-up story from the trenches

HW Development Toolkit

• Navigation

• Autocomplete

• Syntax errors

• Semantic errors

• Quick-assist/fix

• Refactoring

5

Page 6: EDA Start-up story from the trenches

Technology Reuse

• Antlr v3 : parser

• Eclipse RCP:• IDE : framework

• LTK : refactoring

• CNF: extend project explorer

• Multi-platform : Windows, Linux, Mac

• p2 : updates

• Help : documentation (Sphinx)

• Cheat Sheets : tutorials 6

Page 7: EDA Start-up story from the trenches

Agile development

7

• First demonstrations after 6 months

• First testers afters 11 months

• Biweekly releases

• Currently 600+ beta users

release soon, release often

Invaluablefeedback

Page 8: EDA Start-up story from the trenches

Automation

• Setup development environment

• Product Build

• Regression test server

• Weak points

8

Page 9: EDA Start-up story from the trenches

Setup development environment

• 1-click download of entire Java IDE:• JDT• PDE• SVN• Groovy• Mylyn• Findbugs

9

Page 10: EDA Start-up story from the trenches

RCP Product Build

• First (3.3 and 3.4): PluginBuilder• Now (3.5): PDE-build scripts• Few modifications in customTargets:

• obfuscation• p2-director• extra files in final zip file (JRE, license, ...)

10

Page 11: EDA Start-up story from the trenches

Regression test server

• one button release

11

Page 12: EDA Start-up story from the trenches

When things go wrong

12

Page 13: EDA Start-up story from the trenches

Test flow

~ 4 min ~ 24 min ~ 10 min

~ 15 min

PDE product build

parser tests

Maven build+ headless junit tests

plugin tests

PluginBuilder plugintests that need IProjects,...VHDL project tests

Entire RCP is build

All VHDL code we could find on the web~10 Mloc (≈400MiB)

for every commitand every night:

13

Page 14: EDA Start-up story from the trenches

History

14

Page 15: EDA Start-up story from the trenches

Extras

15

Page 16: EDA Start-up story from the trenches

Weak points

• UI tests performed manually:acceptance test before every release:

• test new features (3x10’)

• follow strict scenario (3x7’)

• Plugin tests:complete rebuild with PluginBuilder instead reusing product build

16

Page 17: EDA Start-up story from the trenches

Conclusions

Sigasi: commercial quality EDA tool?

• Reuse

• Agility

• Automation

17

Page 18: EDA Start-up story from the trenches