feat:接入iverilog工具
- 将iverilog可以随着插件的下载而下载 - 用户输入自然语言就可以控制生成对应的VCD文件
This commit is contained in:
183
tools/iverilog/DOWNLOAD_INSTRUCTIONS.md
Normal file
183
tools/iverilog/DOWNLOAD_INSTRUCTIONS.md
Normal file
@ -0,0 +1,183 @@
|
||||
# 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 文件生成。
|
||||
Reference in New Issue
Block a user