Otter FPGA Toolkit - 水獭FPGA工具集
功能一览
安装方法从 VSIX 安装
从源码运行
使用说明一键例化
|
| 工具 | 速度 | 说明 |
|---|---|---|
auto (默认) |
快 | 优先使用 iverilog |
iverilog |
~400ms | 需安装 Icarus Verilog |
xvlog |
数秒 | 需安装 Vivado,更严格 |
modelsim |
中等 | 需安装 ModelSim/Questa |
首次使用需配置路径(如 xvlogPath),扩展会自动查找常见安装位置。
语法检查会在系统临时目录里运行,避免在源码目录留下 a.out、xsim.dir、xvlog.log、work/ 等工具链中间文件。
代码补全
输入关键字自动提示模板,带 [Otter] 标识:
module/always @*/case/if/for/fsm等 25+ 模板- 文件中已定义的信号名(含行号)
约束文件高亮
支持常见 FPGA 约束文件:
.sdc:时序约束.xdc:Xilinx/Vivado 约束.cst:Gowin 物理约束
设置项
| 设置 | 默认值 | 说明 |
|---|---|---|
verilogInstantiate.tabSize |
4 |
缩进空格数 |
verilogInstantiate.lintTool |
auto |
语法检查工具 |
verilogInstantiate.xvlogPath |
"xvlog" |
xvlog 路径 |
verilogInstantiate.autoLintOnSave |
true |
保存时自动检查 |
verilogInstantiate.lintOnOpen |
false |
打开文件时自动检查 |
verilogInstantiate.lintOnActiveEditorChange |
false |
切换到 Verilog/SystemVerilog 编辑器时自动检查 |
verilogInstantiate.enableCompletion |
true |
启用代码补全 |
verilogInstantiate.iverilogIgnoreMissingModule |
true |
iverilog 忽略找不到例化模块的错误 |
verilogInstantiate.includePaths |
[] |
头文件搜索路径,留空时自动向上查找常见 include 目录 |
项目结构
otter-fpga-toolkit/
├── extension.js # 主逻辑 (例化/排版/检查/跳转/补全)
├── package.json # 扩展配置
├── icon.png # 水獭图标
├── language-configuration.json # 括号/注释自动补全
├── syntaxes/
│ ├── verilog.tmLanguage.json
│ ├── systemverilog.tmLanguage.json
│ ├── sdc.tmLanguage.json
│ ├── xdc.tmLanguage.json
│ └── cst.tmLanguage.json
└── readme.md
许可
MIT License - 水獭出品