rtl-verif-env-generator 是做什么的?
用于生成带有FST波形和内建信号注入辅助方法的RTL pytest验证环境的Codex技能。
该技能自动构建基于pytest的RTL验证环境,重点支持以下功能:
- FST波形生成:自动配置并记录测试执行期间的FST波形文件,便于调试和可视化。
- 内部信号注入:提供便捷的辅助函数,无需修改设计源代码即可直接注值(deposit)内部信号,简化复杂测试场景的构造。
- pytest集成:生成标准化的pytest测试结构,包括conftest.py中的固件(fixtures)和参数化测试用例。
使用示例
# 示例测试用例(由技能自动生成)
def test_signal_deposit(my_rtl_env):
# 使用内部信号注入辅助函数
my_rtl_env.deposit("top_module.internal_signal", 0x5A)
my_rtl_env.run_cycles(10)
assert my_rtl_env.read("top_module.output_signal") == expected_value
支持平台
- Codex(主要目标)
- 其他兼容OpenAI API的AI编码代理
工作原理
- 分析用户提供的RTL设计文件(Verilog/VHDL)。
- 生成包含必要仿真库和插件(如
vcd、fst)的requirements.txt。 - 创建
tests/目录结构,含conftest.py(定义rtl_env固件)和示例测试文件。 - 在固件中配置波形输出路径和信号注入接口。
- 支持通过环境变量或配置文件自定义编译器和仿真参数。
快速开始
- 确保已安装Python 3.8+和仿真工具(如Verilator或Icarus Verilog)。
- 在项目根目录运行技能:
codex run ambulGruidae/rtl-verif-env-generator。 - 按提示提供RTL设计顶层文件路径。
- 运行生成的测试:
pytest tests/ -v。
配置选项
| 变量名 | 说明 | 默认值 |
|---|---|---|
RTL_TOP | 顶层模块名 | top |
RTL_FILE | 设计文件路径 | 无 |
SIM_TIMEOUT | 仿真超时(秒) | 60 |
WAVEFORM_LEVEL | 波形记录级别(all/top/none) | all |