AIV — Verilog/SystemVerilog代码及集成自动化辅助工具

发布时间:2026/8/24 13:30:20
AIV — Verilog/SystemVerilog代码及集成自动化辅助工具 AIV — Verilog/SystemVerilog代码及集成自动化辅助工具AIV Automated Integration for Verilog/SystemVerilog是面向数字 IC 和 FPGA 开发工程师的 HDL 集成辅助工具用于快速创建文件、例化模块、管理顶层端口与内部信号以及检查子模块接口变化。AIV 可以减少复制端口、补写连接、维护声明和跟踪接口变化等重复工作提高多文件工程的集成效率。AIV 只修改受控区域内的内容不能替代编译器、lint、仿真和代码审查。项目地址https://gitee.com/funnydigitalworld/aiv运行模式AIV 在终端中运行支持两种使用方式直接执行单条命令例如aiv update执行aiv tui进入交互式终端。主要功能aiv new根据模板创建 Verilog/SystemVerilog 文件aiv add读取子模块接口生成受控实例、参数覆盖和端口连接aiv del删除受控模块实例并可清理不再使用的信号aiv update更新当前文件中的顶层端口、内部信号和实例连接aiv check重新读取子模块检查实例中已经失效的端口aiv log维护 HDL 文件中的变更日志aiv list列出受控实例或模块端口--diff生成候选文件便于在写回前审阅修改。工具安装Windows下载发布包并解压https://gitee.com/funnydigitalworld/aiv/tree/master/dist启动Windows Power Shell用户也可以将aiv.exe发送到桌面快捷方式在快捷方式的属性的目标增加tui参数之后每次双击快捷方式就可以启动。Linux下载发布包并解压https://gitee.com/funnydigitalworld/aiv/tree/master/dist快速开始1. 初始化工程aiv cfgaiv cfg创建.aiv.toml和工程模板目录。建议在工程根目录执行。2. 创建文件aiv new top.sv该命令根据目标后缀选择模板并创建top.sv。3. 添加子模块aiv add top.sv--file rtl/counter.sv该命令在top.sv中添加一个counter.sv的实例化。如果希望子模块端口自动穿透到顶层使用--auto-io选项aiv add top.sv--file rtl/counter.sv--auto-io如果希望子模块端口保持悬空使用默认的--none-io模式aiv add top.sv--file rtl/counter.sv--none-io如果子模块文件中包含多个module或interface使用--module选择要实例化的对象aiv add--file rtl/blocks.sv--module counter4. 更新当前文件aiv updateupdate根据当前文件中的命令、声明和实例控制属性更新顶层端口、内部信号及实例连接。它不会重新读取子模块文件。如果需要对当前模块的未声明变量进行自动声明时使用–auto-var参数aiv update top.sv--auto-var如果希望先审阅生成结果并手动合入时aiv update top.sv--diff5. 检查子模块接口aiv checkcheck根据实例保存的子模块路径、模块名、参数和预处理上下文重新读取子模块并报告实例中已经不存在的端口。如果需要删除过期端口连接aiv check top.sv--remove-stale如果先通过候选文件审阅删除结果aiv check top.sv--remove-stale--diff常用命令命令说明aiv cfg初始化工程配置和模板目录aiv set修改工程级或用户级配置aiv new从模板创建 HDL 文件aiv add添加受控模块或 interface 实例aiv del删除受控实例aiv update更新当前文件中的受控声明和连接aiv check检查子模块接口变化aiv log添加 HDL 文件变更日志aiv list列出受控实例或模块端口aiv format规范化受控内容的排版aiv doctor检查当前运行环境和工程目录aiv tui进入交互式 AIV 终端查看完整语法aiv--help aiv add--help aiv update--help aiv check--help推荐阅读快速开始工程与配置创建 HDL 文件受控区域与编辑边界添加模块实例更新当前文件检查子模块接口其他工程命令典型工作流需要快速查找语法时请直接阅读命令参考配置参考生成内容与控制标记反馈与交流EMAIL: funnydigitalworldoutlook.com