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 中获取:
- 打开 Actions 页面
- 选择最近一次成功运行的 Regression 工作流
- 下载对应平台的 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_verilua、xmake 等)。
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 指向安装目录(包含 bin 和 lib 的目录):
export IVERILOG_HOME=/path/to/iverilog # 添加到 shell 配置文件
安装步骤
-
克隆 Verilua 仓库(如果尚未下载源码)
git clone --recursive https://github.com/cyril0124/verilua.git
cd verilua -
执行安装命令
xmake install verilua该命令会自动安装所有依赖、编译工具并配置环境。
-
(可选)如果安装失败,可以重新执行上述命令,网络问题或临时错误可能会被解决。
验证安装
-
检查环境变量
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):
- lua-language-server(VS Code 插件:Lua)
- EmmyLuaLs(支持 EmmyLua 注解)
配置 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 官方文档。