From: ptkwt@...1.aracnet.com (Phil Tomson) Date: 2002-05-05T14:32:11+09:00 Subject: ANN: RHDL 0.1.0 What's RHDL? Ruby Hardware Description Language, or maybe more accurately, Ruby as a Hardware Description Language. What's an HDL: Hardware Description Languages are used to describe and simulate hardware components. The two main HDLs used by hardware engineers are VHDL and Verilog. In recent years the trend has been to adapt general purpose programming languages for use as HDLs (JHDL [Java HDL], System-C [an HDL based on C++]) - perhaps RHDL could be seen as part of this trend, but mostly I created it for fun and to experiment. HDLs have special requirements not typically seen in regular programming languages - things like concurrent signal assignments and processes that get launched when the value of a signal changes. The code will be available soon at: http://www.aracnet.com/~ptkwt/ruby_stuff/RHDL Again, I have to marvel at how little code this all required. The original implementation of RHDL was done in 300 lines of Ruby. I may have added another 200 lines or so since then, so it's still well under 1000 lines! Fixes since the last release: - concurrent processes now work correctly(ie. you can now have a process which is sensitive to a signal that is changed in another process - it didn't work right before.) TODO: - hierarchy. Currently you can only define one design, I'd like to introduce hierarchy so you can define components which can be instantiated in other components. Phil