Skip to main content

Install Verilua

本节主要介绍如何安装 Verilua。Verilua 支持两种安装方式,您可以根据需求选择合适的方式:

安装方式适用场景优点
Release 安装(推荐)普通用户,快速上手使用无需编译,即下即用
源码安装开发者,需要自定义或参与贡献可修改源码,获得最新特性

方式一:使用 Release 安装(推荐)

这是最简单的安装方式,直接下载预编译的 Release 包即可使用。

1. 下载 Release 包

方法 A:从 GitHub Releases 下载(稳定版)

访问 GitHub Releases 页面,选择适合您操作系统的版本下载。例如:

  • verilua-x64-ubuntu-22.04.zip (Ubuntu 22.04)
  • verilua-x64-centos-7.zip (CentOS 7)
# 以 Ubuntu 22.04 为例
wget https://github.com/cyril0124/verilua/releases/download/v2.0.0/verilua-x64-ubuntu-22.04.zip
unzip verilua-x64-ubuntu-22.04.zip

方法 B:从 GitHub Actions 获取最新开发版(尝鲜)

如果您想体验最新功能(可能尚未正式发布),可以从 CI 构建的 artifacts 中获取:

  1. 打开 Actions 页面
  2. 选择最近一次成功运行的 Regression 工作流
  3. 下载对应平台的 artifact(例如 verilua-x64-ubuntu-22.04-xxxxxxx

💡 提示:这些包基于最新代码构建,包含最新的功能和修复。若没有适合您系统的包,可尝试使用 CentOS 7 的包(基于 glibc 2.17,通常兼容更高版本系统)。

2. 解压并激活环境

cd verilua-x64-ubuntu-22.04       # 进入解压后的目录
source verilua.sh # 激活 Verilua 环境

激活后,您将可以在当前 shell 中使用 Verilua 提供的命令(如 test_veriluaxmake 等)。

3. 验证安装

执行以下命令测试 Verilua 是否正常工作:

test_verilua

如果安装成功,您将看到类似下面的输出:

Test Results:
✓ Passed: 2
✗ Failed: 0

✓ All verilua tests passed!

方式二:从源码安装

适用于需要自定义编译或参与开发的用户。请确保网络环境良好,以便下载依赖。

前提条件

基础工具链

  • gcc >= 11.0(需支持 C++20)
  • xmake:安装参考 xmake 官方文档
  • Rust:安装参考 rustup
  • Python 3.x(某些脚本依赖)

硬件仿真器(至少选择一个)

根据您的需求安装以下仿真器之一:

  • Verilator >= 5.032
  • Icarus Verilog(注意版本问题,见下文)
  • Synopsys VCS(商业软件)
  • Cadence Xcelium(商业软件)
⚠️ Icarus Verilog 版本注意事项

iverilog 的 v12_0 版本存在 cbNextSimTime 无限循环问题,会影响 Verilua 的多任务调度。当前推荐使用 v13_0 标签(也可使用 master 分支 v13-devel)。

git clone https://github.com/steveicarus/iverilog.git
cd iverilog
git checkout v13_0 # 推荐;也可使用 master 分支
sh autoconf.sh
./configure
make
sudo make install

安装后,设置环境变量 IVERILOG_HOME 指向安装目录(包含 binlib 的目录):

export IVERILOG_HOME=/path/to/iverilog   # 添加到 shell 配置文件

安装步骤

  1. 克隆 Verilua 仓库(如果尚未下载源码)

    git clone --recursive https://github.com/cyril0124/verilua.git
    cd verilua
  2. 执行安装命令

    xmake install verilua

    该命令会自动安装所有依赖、编译工具并配置环境。

  3. (可选)如果安装失败,可以重新执行上述命令,网络问题或临时错误可能会被解决。

验证安装

  • 检查环境变量 VERILUA_HOME 是否指向 Verilua 源码目录:

    echo $VERILUA_HOME
  • 运行完整测试套件:

    xmake run test

    成功时您将看到 Verilua 的 ASCII 艺术 Logo:

      _____         _____ _____ 
    | __ \ /\ / ____/ ____|
    | |__) / \ | (___| (___
    | ___/ /\ \ \___ \\___ \
    | | / ____ \ ____) |___) |
    |_| /_/ \_\_____/_____/

常见问题

Q1:安装后 test_verilua 命令找不到?

  • 原因:未正确激活环境,或 verilua.sh 未被 source。
  • 解决:确保进入解压目录并执行 source verilua.sh

Q2:源码安装时 xmake install verilua 失败,提示缺少依赖?

  • 解决:手动安装缺失的依赖(如 gcc、rust 等),然后重试。如果网络问题导致下载失败,可以尝试使用代理或重新运行。

Q3:如何切换 Verilua 版本?

  • Release 安装:重新下载新版本包,解压并重新 source。
  • 源码安装git pull 拉取最新代码,然后再次运行 xmake install verilua

Q4:iverilog 安装后 Verilua 仍报版本错误?

  • 确认 iverilog -V 显示的版本是否为正确的 commit 或 tag(推荐 v13_0)。确保 IVERILOG_HOME 设置正确。

推荐的 Lua 开发插件

为获得更好的代码补全、跳转和类型标注体验,您可以选择以下插件之一(更推荐使用 EmmyLuaLs):

配置 EmmyLuaLs

EmmyLuaLs 需要一个 .emmyrc.json 配置文件放置在项目根目录(或工作区)。您可以根据需要创建该文件,一个最小配置示例如下:

{
"$schema": "https://raw.githubusercontent.com/EmmyLuaLs/emmylua-analyzer-rust/refs/heads/main/crates/emmylua_code_analysis/resources/schema.json",
"runtime": {
"version": "LuaJIT"
},
"hint.enable": true,
"workspace": {
"library": [
"$VERILUA_HOME/src/lua",
"$VERILUA_HOME/src/lua/verilua"
]
}
}

说明

  • $VERILUA_HOME 会被自动替换为 Verilua 的安装路径,前提是该环境变量已在 shell 中设置。
  • 该配置仅包含识别 Verilua 库的必要项,完整的功能配置请参考 EmmyLuaLs 官方文档