文档导航
这一页用于帮助你更快地找到合适的阅读路径。
如果你是第一次接触 Verilua,建议先按照下面的推荐主线阅读;如果你已经知道自己要做什么,可以直接使用后面的"按目标快速入口"。
推荐主线
默认推荐的阅读顺序如下:
阅读 Introduction -> 安装 Verilua -> 了解 LuaJIT 差异 -> 跑通第一个示例 -> 搭建一个简单的 UT 环境 -> 按需查阅 Reference
-
先阅读 Introduction,了解 Verilua 的核心理念、架构概览以及 HVL/HSE/WAL 三种执行模式的基本概念。
-
先完成环境准备。这篇文档同时覆盖 Release 安装和源码安装两种方式。
-
如果你已有 Lua 基础但不熟悉 LuaJIT,建议先快速阅读这篇文档,了解 64 位整数、
cdata、FFI 等 Verilua 中常见的 LuaJIT 特性。 -
跑通第一个示例:
- 一个简单的 HVL 示例 — 带仿真运行的验证场景
- 一个简单的 HSE 示例 — 停止仿真并提取结果
- 一个简单的 WAL 示例 — 离线波形分析
安装完成后,选择一种模式跑通最小可工作的示例,并理解 Verilua 的基本执行方式。
-
当你准备从最小示例进入更接近真实验证工作的流程时,继续阅读这一篇。
-
当你需要确认 API 行为、数据结构细节或配置项时,再切换到参考文档区。
按目标快速入口
如果你已经知道当前目标,可以直接选择对应路径。
我想跑通一个例子
安装 Verilua -> LuaJIT 快速指南(可选) -> 选择一个示例
- 安装 Verilua
- LuaJIT 与标准 Lua 的常见差异(已有 Lua 基础的用户可选)
- 一个简单的 HVL 示例
- 一个简单的 HSE 示例
- 一个简单的 WAL 示例
我想搭建可复用的验证环境
安装 Verilua -> HVL 示例 -> 简单 UT 环境 -> pl.class 面向对象编程 -> 可复用组件
我想提升代码质量与开发体验
类型注释 -> Lua 常见陷阱 -> 运行时类型校验
我想做波形分析
安装 Verilua -> WAL 示例
我想处理时钟驱动或多时钟场景
安装 Verilua -> HVL 示例 -> 时钟相关指南
我想查 API 和核心数据结构
Reference -> Data Structure -> Related APIs
- 多任务系统
- await_time
- 数据结构概览
- 位向量(BitVec)
- 通用工具函数(LuaUtils)
- 字符串位操作工具(StrBitsUtils)
- 运行时类型校验(TypeExpect)
- 字符串字面量构造模式(SLCP)
- 仿真控制
- 全局配置
- 通用队列(Queue / StaticQueue / AgeStaticQueue)
- 组合工具(Cross)
- SV 生成(SVBuilder)
- 运行时符号调用工具(SymbolHelper)
我想了解 Testbench 生成与构建配置
Testbench 生成 -> xmake 配置 -> 环境变量
接下来可以看什么
如果你已经完成推荐主线,可以按自己的方向继续深入:
- 想从 Lua 调用 C 函数:从 Lua 调用 C 函数
- 想定制项目构建方式:编写 xmake.lua
- 想先掌握 Verilua 里最常见的类写法:使用 pl.class 进行面向对象编程
- 想增强组件组织方式:编写可复用的组件
- 想继续了解 WAL 工作流:一个简单的 WAL 示例
- 想了解 HSE 工作流:一个简单的 HSE 示例
- 想精确查 API 细节:从 Reference 开始
- 想了解 Lua 本身容易踩的坑:Lua 常见陷阱
- 想用类型注解提升开发体验:使用 EmmyLua/LuaCATS 类型注释
- 想了解 SLCP 简写模式:字符串字面量构造模式(SLCP)
- 想在运行时校验参数类型:运行时类型校验(TypeExpect)