Veryl

Veryl is a modern hardware description language.

This project is under the exploration phase of language design. If you have any idea, please open Issue.

Actions Status Crates.io Changelog

Documentation quick links

Features

Installation

Download binary

Download from release page, and extract to the directory in PATH.

Cargo

You can install with cargo.

cargo install veryl veryl-ls

Usage

veryl new [package name]

veryl init [path]

veryl fmt

veryl check

veryl build

Package Configuration Example

```toml [package] name = "name" # package name version = "0.1.0" # package version (semver is recommended)

[build] clocktype = "posedge" # default clock type [posedge|negedge] resettype = "asynclow" # default reset type [asynclow|asynchigh|synclow|sync_high]

output target files in the same location as source

target = {type = "source"}

output target files in the specified directory

target = {type = "directory", path = "testcases/sv"}

[format] indent_width = 4 # indent width ```

Reference

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.