VHDL generation from Yakindu state charts with Xtend

Last month I was introduced to Yakindu, an open-source-toolkit for model-driven development of embedded systems. One component of the Yakindu toolkit supports the graphical development of finite-state machines: the Yakindu Statechart Tools (SCT). Although I'm personally rather skeptical to graphical development tools and prefer textual entry with visualization, the Yakindu Statechart Tools seemed really powerful. For example, SCT supports hierarchical states, parallel states, … So it was worth giving it a try for VHDL design.

Yakindu state machineYakindu state machine

Together with Axel Terfloth from the Yakindu project, Sigasi prototyped a VHDL generator for SCT statecharts that we both will demonstrate at Embededded World 2012 (Hall 4 Stands 109 (Sigasi) and 408 (Itemis)). Please visit us to see a demo of this prototype.

We used "Xtend"http://www.eclipse.org/xtend/ to generate VHDL-code from the statecharts. The Xtend-Yakindu combination did not work out-of-the-box. Yakindu currenlty only works with an older version of Xtext (version 2.01.). So you need to download an older version of Xtend too. Here are some of the required steps to get started developing with Yakindu:

  1. Download Eclipse for RCP and RAP Developers (These containt the PDE plugins)
  2. Download Xtend 2.0.1 as an offlline update site from http://www.eclipse.org/modeling/tmf/downloads/
  3. Start Eclilpse and install Xtend from the offline update site
  4. Install Yakindu from http://updates.yakindu.com/indigo/milestones/

Hendrik.

Comments

Sigasi in the cloud

I am dreaming about Sigasi hosted, so you don't need anything but a web browser to code VHDL/Verilog. I started to wonder if it was possible to run Eclipse with ACE (Mozillas code editor for the web), and it turns Eclipse themselves did this already, in 2009!

http://borisoneclipse.blogspot.se/2009/02/eclipse-in-cloud.html (Bespin is now called ACE)

Progress

Do you plan to integrate this feature into Sigasi or any further development?

Yakindu

Hi Grzegorz,

this is currently not planned.

Kind regards,
Hendrik.

Is there any plan regarding

Is there any plan regarding visual representation of FSMs?

VHDL generator?

I have tried to follow this tutorial, finally with success (had a hard time finding a way to have Eclipse working with Xtext 2.01*), however I'm stumbling on one point:
The VHDL generator for SCT statecharts you created for your demonstration at Embedded World last year – is it available anywhere for download?

*For those interested, Xtend 2.0.1 being unavailable on the website mentioned at point 2. and installing it from Eclipse update sites being impossible, you have to download the eclipse-SDK-3.7-Xtext-2.0.1-YOUR_OS_PLATORM package from any Eclipse mirror still hosting it; it provides a version of Eclipse including all the needed tools (excepting yakindu, which you still have to install following point 4.).

VHDL generator

Hi Stiepan,

it was originally the plan to put this on GitHub. But both Axel (Itemis) and I got distracted by other priorities and we never wrapped up the prototype.
I am not sure how much value there is in digging up the old code and porting it to the latest version of Yakindu.

Hendrik

Hi Hendrik, Thank you for

Hi Hendrik,

Thank you for your reply; I would be interested in having this old code for learning purposes, as I have learned (IBM) statecharts more in depth than VHDL and would like to use this knowledge in order to speed up my learning of VHDL.
Additionally, using Mac OS X, I have no way to simulate VHDL execution (without resorting to emulating Windows or Linux in order to do so), while I can simulate state-charts execution with tools like yakindu.
Your code could thus bring me – and possibly other users with similar needs – the best of both worlds!

Stiepan

P.S.:
When clicking the e-mail link to see your reply and afterwards, replying to it, I was presented with a strange "The name you used belongs to a registered user." error, without a possibility of logging-in in order to remediate to this situation…