A well-configured development environment makes hardware design more productive. This guide covers editor setup, linting, and useful development tools.

Editor Support

RHDL works with any Ruby-capable editor. Recommended setups:

  • VS Code — Ruby LSP extension for autocompletion and diagnostics
  • Vim/Neovim — Solargraph for Ruby language server support
  • RubyMine — full IDE with built-in Ruby support

Project Structure

A typical RHDL project follows Ruby conventions:

my_design/
├── Gemfile
├── lib/
│   ├── components/
│   │   ├── alu.rb
│   │   └── counter.rb
│   └── my_design.rb
├── spec/
│   ├── alu_spec.rb
│   └── counter_spec.rb
└── output/
    ├── verilog/
    └── diagrams/

Development Tools

  • RSpec — test framework for hardware verification
  • Guard — file watcher for automatic recompilation
  • Bundler — dependency management
  • IRB/Pry — interactive exploration of designs

Simulation Setup

For simulation, you will need one of the supported backends:

  • Rust compiler — included with RHDL, supports WASM output
  • Verilator — install separately for cycle-accurate Verilog simulation
  • Arcilator — LLVM-based simulator for native execution speed