[Haskell] ANN: Haskell-Embedded System Design: ForSyDe 3.0 and
Tutorial
Alfonso Acosta
alfonso.acosta at gmail.com
Wed Oct 1 07:29:38 EDT 2008
Hi everyone,
I am glad to announce the 3.0 release of ForSyDe's implementation, now
available from HackageDB.
The ForSyDe (Formal System Design) methodology has been developed with
the objective to move system design (e.g. System on Chip, Hardware and
Software systems) to a higher level of abstraction.
ForSyDe is implemented as a Haskell-embedded behavioral DSL (Domain
Specific Language).
>From this release, ForSyDe includes a new deep-embedded DSL and
embedded compiler. We have also published tutorial which should be
much more user-friendly than the Haddock documentation and the ForSyDe
research papers.
ForSyDe includes two DSL flavours which offer different features:
1) Deep-embedded DSL (ForSyDe.Signal)
Deep-embedded signals, based on the same concepts as Lava, are
aware of the system structure. Based on that structural information
ForSyDe's embedded compiler, can perform different analysis and
transformations.
o Thanks to Template Haskell, computations are expressed in
Haskell, not needing to specifically design a DSL for that
purpose.
o Embedded compiler backends:
+ Simulation
+ VHDL (with support for Modelsim and Quartus II)
+ GraphML (with yFiles graphical markup support.)
o Synchronous model of computation.
o Support for components.
o Support for fixed-sized vectors à la VHDL.
2) Shallow-embedded DSL (ForSyDe.Shallow.Signal)
Shallow-embedded signals are modeled as streams of data
isomorphic to lists. Systems built with them are unfortunately
restricted to simulation, however, shallow-embedded signals
provide a rapid-prototyping framework with which to experiment
with Models of Computation (MoCs).
o Synchronous MoC.
o Untimed MoC.
o Continuous Time MoC.
o Domain Interfaces allow connecting various subsystems
with different timing (domains) regardless of their MoC.
o Deep-embedded models can be integrated through
simulation.
Links
====
ForSyDe website:
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/
ForSyDe tutorial:
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/files/tutorial/tutorial.html
HackageDB package page:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ForSyDe
Darcs repository: darcs get
http://www.ict.kth.se/org/ict/ecs/sam/projects/forsyde/www/darcs/ForSyDe/
More information about the Haskell
mailing list