184 lines
4.5 KiB
Markdown
184 lines
4.5 KiB
Markdown
# Iverilog 工具下载和安装说明
|
||
|
||
## 重要提示
|
||
|
||
由于网络限制,需要手动下载 iverilog 工具并放置到插件包中。
|
||
|
||
## 快速开始
|
||
|
||
### 步骤 1:下载 Iverilog
|
||
|
||
**Windows x64 用户:**
|
||
|
||
1. 访问官方下载页面:http://bleyer.org/icarus/
|
||
2. 下载文件:`iverilog-v12-20220611-x64_setup.exe` (约 18.2 MB)
|
||
3. 保存到任意位置
|
||
|
||
**备用下载地址:**
|
||
- GitHub Releases: https://github.com/steveicarus/iverilog/releases
|
||
- SourceForge: https://sourceforge.net/projects/iverilog/
|
||
|
||
### 步骤 2:安装到临时目录
|
||
|
||
1. 运行下载的安装程序 `iverilog-v12-20220611-x64_setup.exe`
|
||
2. 选择安装路径(建议:`C:\iverilog-temp`)
|
||
3. 完成安装
|
||
|
||
### 步骤 3:复制文件到插件目录
|
||
|
||
**需要复制的文件:**
|
||
|
||
#### A. 可执行文件(从 `C:\iverilog-temp\bin\` 复制到 `tools\iverilog\bin\`)
|
||
|
||
```
|
||
iverilog.exe # Verilog 编译器
|
||
vvp.exe # Verilog 仿真器
|
||
```
|
||
|
||
#### B. 依赖的 DLL 文件(从 `C:\iverilog-temp\bin\` 复制到 `tools\iverilog\bin\`)
|
||
|
||
```
|
||
libgcc_s_seh-1.dll
|
||
libwinpthread-1.dll
|
||
libstdc++-6.dll
|
||
```
|
||
|
||
如果运行时提示缺少其他 DLL,也需要从安装目录复制。
|
||
|
||
#### C. 库文件目录(重要!)
|
||
|
||
将整个 `C:\iverilog-temp\lib\` 目录复制到 `tools\iverilog\lib\`
|
||
|
||
最终目录结构:
|
||
```
|
||
tools\iverilog\lib\ivl\
|
||
├── system.vpi
|
||
├── v2005_math.vpi
|
||
├── vhdl_sys.vpi
|
||
└── ... (其他 .vpi 和 .vpl 文件)
|
||
```
|
||
|
||
### 步骤 4:验证安装
|
||
|
||
在命令行中运行:
|
||
|
||
```bash
|
||
cd "D:\IC Coder Plugin\ic-coder\tools\iverilog\bin"
|
||
.\iverilog.exe -V
|
||
```
|
||
|
||
应该看到版本信息:
|
||
```
|
||
Icarus Verilog version 12.0 (stable) (s20220611-xxx)
|
||
```
|
||
|
||
### 步骤 5:清理
|
||
|
||
安装完成后,可以:
|
||
1. 卸载临时安装的 iverilog(通过控制面板)
|
||
2. 删除临时安装目录 `C:\iverilog-temp`
|
||
|
||
## 最终目录结构
|
||
|
||
```
|
||
D:\IC Coder Plugin\ic-coder\
|
||
└── tools\
|
||
└── iverilog\
|
||
├── bin\
|
||
│ ├── iverilog.exe
|
||
│ ├── vvp.exe
|
||
│ ├── libgcc_s_seh-1.dll
|
||
│ ├── libwinpthread-1.dll
|
||
│ └── libstdc++-6.dll
|
||
├── lib\
|
||
│ └── ivl\
|
||
│ ├── system.vpi
|
||
│ ├── v2005_math.vpi
|
||
│ └── ... (其他库文件)
|
||
├── README.md
|
||
├── INSTALL.md
|
||
└── DOWNLOAD_INSTRUCTIONS.md (本文件)
|
||
```
|
||
|
||
## 文件大小参考
|
||
|
||
- `iverilog.exe`: ~2 MB
|
||
- `vvp.exe`: ~1 MB
|
||
- DLL 文件: ~1-2 MB
|
||
- lib/ivl/ 目录: ~3-5 MB
|
||
- **总计**: 约 7-10 MB
|
||
|
||
## 自动化脚本(可选)
|
||
|
||
如果你已经安装了 iverilog,可以使用以下 PowerShell 脚本自动复制文件:
|
||
|
||
```powershell
|
||
# 设置路径
|
||
$iverilogInstallPath = "C:\iverilog" # 修改为你的安装路径
|
||
$pluginToolsPath = "D:\IC Coder Plugin\ic-coder\tools\iverilog"
|
||
|
||
# 创建目录
|
||
New-Item -ItemType Directory -Force -Path "$pluginToolsPath\bin"
|
||
New-Item -ItemType Directory -Force -Path "$pluginToolsPath\lib"
|
||
|
||
# 复制可执行文件
|
||
Copy-Item "$iverilogInstallPath\bin\iverilog.exe" "$pluginToolsPath\bin\"
|
||
Copy-Item "$iverilogInstallPath\bin\vvp.exe" "$pluginToolsPath\bin\"
|
||
|
||
# 复制 DLL 文件
|
||
Copy-Item "$iverilogInstallPath\bin\*.dll" "$pluginToolsPath\bin\"
|
||
|
||
# 复制库文件
|
||
Copy-Item "$iverilogInstallPath\lib\*" "$pluginToolsPath\lib\" -Recurse
|
||
|
||
Write-Host "复制完成!"
|
||
```
|
||
|
||
保存为 `copy-iverilog.ps1` 并在 PowerShell 中运行。
|
||
|
||
## 许可证信息
|
||
|
||
Icarus Verilog 使用 **GPL v2+** 许可证,允许自由分发。
|
||
|
||
- 官方网站:http://iverilog.icarus.com/
|
||
- GitHub:https://github.com/steveicarus/iverilog
|
||
- 许可证文本:https://github.com/steveicarus/iverilog/blob/master/COPYING
|
||
|
||
## 需要帮助?
|
||
|
||
如果遇到问题,请:
|
||
1. 检查是否复制了所有必需的文件
|
||
2. 确认 DLL 文件都在 bin 目录中
|
||
3. 验证 lib/ivl 目录包含所有 .vpi 文件
|
||
4. 查看插件的错误日志
|
||
|
||
## 其他平台
|
||
|
||
### macOS
|
||
|
||
```bash
|
||
# 使用 Homebrew 安装
|
||
brew install icarus-verilog
|
||
|
||
# 复制文件到插件目录
|
||
cp /usr/local/bin/iverilog "tools/iverilog/bin/"
|
||
cp /usr/local/bin/vvp "tools/iverilog/bin/"
|
||
cp -r /usr/local/lib/ivl "tools/iverilog/lib/"
|
||
```
|
||
|
||
### Linux
|
||
|
||
```bash
|
||
# Ubuntu/Debian
|
||
sudo apt-get install iverilog
|
||
|
||
# 复制文件到插件目录
|
||
cp /usr/bin/iverilog "tools/iverilog/bin/"
|
||
cp /usr/bin/vvp "tools/iverilog/bin/"
|
||
cp -r /usr/lib/ivl "tools/iverilog/lib/"
|
||
```
|
||
|
||
---
|
||
|
||
**注意**:完成上述步骤后,插件即可使用内置的 iverilog 工具进行 Verilog 编译和 VCD 文件生成。
|