[ANN] RHDL 0.5.0

P

Phil Tomson

What is it?
==============
RHDL (Ruby Hardware Description Language) is a DSL for describing and
simulating digital circuits. It looks very similar to VHDL.

Where does it live?
=====================
http://rhdl.rubyforge.org/

"Why should I be interested?", you ask.
=======================================
If you're a hardware type you probably already know why, but let's assume
you're a Ruby programmer who is not also a hardware designer type
person... You might be interested in RHDL because it's a DSL and maybe
it's a reasonable example of a DSL built on Ruby (or maybe you'll think
it's really a very scary example of how to do a DSL in Ruby once you start
looking at the code...). Another reason you might be interested: RHDL is
really all about dataflow programming and dataflow programming could be
pretty useful in the future for dealing with parallelism in multi-processor
systems... or maybe you want to learn about Event Driven Simulation (it's
in there).


What's changed:
=================
RHDL now has at least 50% more Ruby metaprogramming goodness! The DSL has
been changed to remove some of the Ruby-isms that were in RHDL's previous
incarnations (class, super - these are now gone replaced with the model
declaration). Examples have been updated to reflect the new 'syntax' and
many unit tests have been added (more still needed).

Other changes:
* <= has replaced << for signal assignment ( <= has lower operator
precedence which is a good thing)
* lte (less than or equal) method has been introduced now that <= has been
taken for assignment (I really wish we had a definable := operator which
very low operator precedence for assignment semantics, hint, hint... but I
digress) (gte - greater than or equal - method has also been introduced
for signals for orthogonality with lte)
* models instead of classes - see docs. Big change to the RHDL syntax.
Hopefully it makes things less confusing for non-Ruby programmers who want
to use RHDL.
* named argument associations in model constructors (again, see docs and
examples) [oh, and model constructors themselves are created for you now
(more of that metaprogramming goodness!) so you don't have to define an
initialize method.
* inputs, outputs, generics (see docs)
* lots of unit tests added (but more are stil needed)
* bug fixes
* lots of other stuff I'm forgetting about...

The Future:
==============
In future releases RHDL will (hopefully) interoperate with BLIF (Berkeley
Logic Interchange Format) and also be translatable to VHDL... but don't
hold your breath - note that it's been something like 3
years since the last release of RHDL.

How much would you pay for all of this?
=======================================
Send cash, checks, MacBook pros to me at... oh, wait, actually it's free
and under the same license as Ruby. Damn - I really was looking forward to
that MacBook Pro.

Phil
 
M

Mat Schaffer

The Future:
==============
In future releases RHDL will (hopefully) interoperate with BLIF
(Berkeley
Logic Interchange Format) and also be translatable to VHDL... but
don't
hold your breath - note that it's been something like 3
years since the last release of RHDL.

As someone who had to do a lot of VHDL in school, I applaud you for
your work. Hopefully this will gain some traction and younger
students will never have to endure such pain.
-Mat
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top