Veryl Hardware Description Language Ecosystem

← Back to Current ProjectsActive
Duration:2023-Present
Collaborators:PEZY Computing K.K., Open Source Community
Related Papers:Veryl_a_modern_hardware_description_language_for_open Source_computer_architecture
Links:GitHub Repository, Documentation
Keywords:
Hardware Description LanguageSystemVerilogOpen SourceCompiler TechnologyLanguage Design

Project Overview

The Veryl Hardware Description Language project aims to revolutionize open-source hardware design by providing a modern, safe, and ergonomic alternative to traditional HDLs like SystemVerilog. Veryl addresses critical pain points in hardware development through advanced language features, comprehensive tooling, and seamless integration with existing workflows.

Key Innovations

Language Features

  • Clock Domain Safety: Built-in clock type system with automatic detection of unsafe clock domain crossings at compile time
  • Advanced Generics: Powerful parametric system supporting module prototypes, similar to Rust traits
  • Simplified Syntax: Streamlined grammar that eliminates common sources of errors while maintaining expressiveness
  • Strong Type System: Enhanced type safety with explicit clock domain annotations

Modern Tooling Ecosystem

  • Language Server Protocol: Real-time diagnostics, auto-completion, and navigation in all major editors
  • Package Management: Built-in dependency management for easy library integration
  • Automatic Formatting: Consistent code style enforcement across projects
  • Testing Framework: Embedded test infrastructure with SystemVerilog and cocotb support

SystemVerilog Interoperability

A key strength of Veryl is its seamless bidirectional interoperability with existing SystemVerilog codebases. The compiler generates clean, human-readable SystemVerilog output that follows established coding conventions, enabling:

  • Gradual adoption within existing projects
  • Integration with current synthesis and simulation tools
  • Easy debugging and verification workflows
  • Direct instantiation of SystemVerilog modules using the $sv namespace

Impact and Adoption

Early user feedback demonstrates significant productivity improvements, with developers reporting faster development cycles and fewer debugging sessions. The language’s safety features have proven particularly valuable for identifying clock domain crossing issues and type inconsistencies early in the design process.

The project supports both ASIC and FPGA workflows through build-time configuration, allowing the same Veryl code to target different reset polarities and synchronization requirements without source code changes.

Future Directions

  • Expanding language server capabilities for advanced static analysis
  • Integration with additional simulators and synthesis tools
  • Development of a comprehensive standard library for common hardware components
  • Advanced timing and resource optimization through static analysis
  • Enhanced debugging tools and visualization features