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