P
Phil Tomson
Guest
RHDL 0.5.0 has been released!
What is it?
==============
RHDL (Ruby Hardware Description Language) is a DSL (Domain Specific
Language) for describing and simulating digital circuits. It looks very
similar to VHDL. RHDL is built entirely in Ruby: no lexers or yaccs were
harmed (or even created) in the development of RHDL. It's a nice example
of Ruby's capabilities for creating DSL's (the secret is Ruby's anonymous
code blocks - something lacking in some of those other open source, object
oriented scripting languages out there.)
Where does it live?
=====================
http://rhdl.rubyforge.org/
User guide at: http://rhdl.rubyforge.org/UsersGuide.html
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 (gte - greater than or equal - method has also been
introduced for signals for orthogonality with lte)
* models instead of classes - see docs and examples. 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/examples)
* lots of unit tests added (but more are still 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. More docs
and examples coming as well...
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
What is it?
==============
RHDL (Ruby Hardware Description Language) is a DSL (Domain Specific
Language) for describing and simulating digital circuits. It looks very
similar to VHDL. RHDL is built entirely in Ruby: no lexers or yaccs were
harmed (or even created) in the development of RHDL. It's a nice example
of Ruby's capabilities for creating DSL's (the secret is Ruby's anonymous
code blocks - something lacking in some of those other open source, object
oriented scripting languages out there.)
Where does it live?
=====================
http://rhdl.rubyforge.org/
User guide at: http://rhdl.rubyforge.org/UsersGuide.html
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 (gte - greater than or equal - method has also been
introduced for signals for orthogonality with lte)
* models instead of classes - see docs and examples. 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/examples)
* lots of unit tests added (but more are still 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. More docs
and examples coming as well...
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