ハードウェア記述言語 Veryl 2024年のまとめ
はじめに
VerylはSystemVerilogの代替言語として開発中のハードウェア記述言語です。
2022年末に開発開始し、現在2年目のプロジェクトになります。
この記事では今年1年の進捗をまとめてご紹介します。
2023年のまとめはこちら。
言語自体に興味のある方はこちらのドキュメントをご参照ください。
Veryl リリース
今年は v0.6.0 から v0.13.3 まで19回のリリースを行いました。
主な変更点は以下の通りです。
-
#471: 拡張子を
*.veryl
に変更 -
#648:
veryl test
によるユニットテスト - #679: ジェネリクス
-
#701:
clock
,reset
型の導入 - #789: クロックドメインアノテーション
GitHub Stars とエコシステムの成長
VerylプロジェクトのGitHub Starsはこの1年で200から500まで増えました。4月頃にHacker Newsのトップページに載った影響で一気に100以上増えていますが、それ以外でもコンスタントに伸びているようです。
また、GitHub上にあるVerylのプロジェクト数(Veryl.toml
のファイル数)とソースコード数を今年の4月から計測しています。ソースコード数は8カ月で100ファイルから200ファイルまで増えました。ちなみにこのファイル数が2000を超えるとGitHubにシンタックスハイライトを追加できるようになります。
veryl-lang.org
ドキュメントなどの置き場として veryl-lang.org ドメインを取得し、GitHubもOrganizationに移行しました。
言語の紹介ページやドキュメント・Playgroundへのリンクがまとまっています。
また、リリースごとにリリースブログを書くようにしています。
verylup
Verylの公式インストーラとして verylup を公開しました。
Rustの公式インストーラである rustup と同様に、以下のような機能を提供しています。
- Verylコンパイラのアップデート
- ディレクトリ毎のコンパイラバージョン固定
- コマンドラインでのバージョン指定(例:
veryl +0.13.1 build
)
発表
Veryl についての発表は2回行いました。DVCon Japanでは発表後の質問も多く、それなりに興味を持っていただけたようです。
関連プロジェクト
今年は私以外の方によるVeryl関連のプロジェクトもいくつか出てきましたのでご紹介します。
-
Verylで作るCPU 基本編 第I部
VerylでRISC-Vプロセッサを実装するという内容の本です。基本編 第I部ではRV64Iの実装まででしたが、今後Linuxブートまで計画されているようですので楽しみですね。GitHub: https://github.com/nananapo/veryl-riscv-book
紙版 : https://booth.pm/ja/items/6260688
Web版 : https://cpu.kanataso.net -
rggen-veryl
CSRの自動生成ツールである RgGen をVerylに対応させるためのプラグインです。従来VerylからRgGenを扱うにはSystemVerilogのモジュールとしてインスタンスするしかなかったのですが、Verylに対応したことで補完や接続チェックなどが効くようになります。
おわりに
今年はジェネリクスなど比較的大きな実装をいくつか入れることができました。次の目標としては式の型評価を考えています。これができると代入やポート接続時のビット幅不一致など多くのチェックが実現できるようになります。
また、初のVeryl本が出るなど、ユーザの広まりも感じられるようになってきました。宣伝活動の方も引き続き頑張っていきたいと思います。
Discussion