comp.lang.ada
 help / color / mirror / Atom feed
From: "Suslik" <adi.google.@suslik.org>
Subject: Re: Is there a translator from SPARK Ada to VHDL?
Date: 23 Jan 2005 03:42:29 -0800
Date: 2005-01-23T03:42:29-08:00	[thread overview]
Message-ID: <1106480549.963006.322830@z14g2000cwz.googlegroups.com> (raw)
In-Reply-To: 1106284742.327319.93190@z14g2000cwz.googlegroups.com


Upkeep wrote:
> Straightforward search in Google for "Ada VHDL translator"
immediately
> brings "Ada to Behavioral VHDL Translator" in many references.

Yep, that's Sheraga's work.  He did something similar with C too.

The big problem is that behavioural VHDL (expressive, remarkably like
Ada in syntax including a reasonable type system and iterative control
structures) is not the same thing as synthesizable VHDL (very small
subset, limited to reacting to signals on wires and updating state).
And your VHDL must be synthesizable in order to load it onto an FPGA or
produce an ASIC design.  Since mapping from behavioural to
synthesizable VHDL is very hard in the general case, you have a
problem.  (A secondary problem is that there is still not agreement on
what VHDL is really synthesizable, although some progress has been made
with a working group in this area).

The eventual aim of the work I started on SPARK-to-VHDL was to provide
a synthesizable VHDL implementation of SPARK programs.  A key step is
to route through the Pebble synchronous hardware description language
which maps nicely onto synthesizable VHDL.  You can choose to produce a
pipelined implementation or a machine that executes SPARK pseudo-code.
I also looked at how you can take a selected portion of a SPARK
program, implement it in hardware, and replace its implementation with
a handshaking interface to the hardware while still keeping the SPARK
program description correct.

More than (100 - 10^-4)% of people can conceivably want to know about
this topic is described in the publications at
http://www.suslik.org/Personal/publics.html
which includes my PhD thesis.  You might also want to have a look at
what Neil Audsley and Michael Ward from York University have been doing
on synthesizing legacy Ada (SPARK, if memory serves) into a state
machine implementation on a PLD; the York Hardware Compiler, I believe.
Hope this helps,

Adrian




  reply	other threads:[~2005-01-23 11:42 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-20 23:44 Is there a translator from SPARK Ada to VHDL? Jim
2005-01-21  4:42 ` Stephen Leake
2005-01-21  7:26   ` Vinzent 'Gadget' Hoefler
2005-01-21 15:25     ` Peter Amey
2005-02-27 15:50   ` Colin Paul Gloster
2005-01-21  6:06 ` Upkeep
2005-01-23 11:42   ` Suslik [this message]
2005-02-10 18:03     ` Jim
2005-02-27 15:49       ` Paul Colin Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox