内容
# quartus-mcp
`quartus-mcp` 是一个用于自动执行 **Altera Quartus II 9.1 SP2** 工作流程的MCP服务器,运行于Windows。
它提供了MCP工具,用于:
- 创建Quartus项目
- 添加和注册VHDL源文件
- 通过Tcl调用Quartus构建
- 读取编译消息和报告输出
该项目旨在帮助 **CLD / 数字逻辑设计课程**,特别是对于在仍使用 **Quartus II 9.1** 的旧实验室环境中工作的学生。
## 适用人群
该项目主要适用于:
- 在实验室中使用Quartus II 9.1的同学
- 未来的 **CLD / 数字逻辑设计** 学生
- 维护小型旧Altera/Quartus课程项目的任何人
- 希望在旧Quartus流程周围添加AI友好控制层的任何人
## 当前支持
**已测试目标:**
- **Altera Quartus II 9.1 SP2**
- Windows本地安装
- 旧版 `bin\\quartus_sh.exe` 布局
**尚未保证:**
- Quartus Prime
- 较新的Intel Quartus版本
- Linux原生Quartus设置
- 超出项目/构建/报告工作流程的GUI自动化
如果新版本有效,那么很好 — 但目前该仓库主要针对 **Quartus II 9.1 SP2**。
## 功能
MCP服务器目前公开了以下工具:
- `quartus.find_installation`
- `quartus.new_project`
- `quartus.list_project_files`
- `quartus.add_source_file`
- `quartus.build`
- `quartus.read_messages`
- `quartus.read_timing_summary`
- `quartus.status`
## 它实际的作用
该项目并不试图伪造“Quartus的全AI控制”。
更准确地说,它为以下操作提供MCP工具:
- 项目创建
- 源文件注册
- 编译/构建执行
- 报告/消息检查
针对 **Quartus II 9.1**。
主要的控制路径是 **Tcl驱动的Quartus自动化**,对于旧版本来说,比依赖于较新的CLI假设更稳定。
## 需求
- Windows
- Python 3
- 已安装Quartus II 9.1 SP2
- 访问:
- `quartus_sh.exe`
典型路径:
```text
C:\altera\91sp2\quartus\bin\quartus_sh.exe
```
## 设置
### 1. 克隆仓库
```powershell
git clone https://github.com/YOURNAME/quartus-mcp.git
cd quartus-mcp
```
### 2. 创建虚拟环境
```powershell
py -3 -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
### 3. 创建本地配置文件
复制示例配置文件并编辑:
```powershell
copy config\quartus_mcp.example.json config\quartus_mcp.json
```
示例:
```json
{
"quartusInstallPath": "C:\\altera\\91sp2",
"quartusShPath": "C:\\altera\\91sp2\\quartus\\bin\\quartus_sh.exe",
"defaultProjectRoot": "C:\\Users\\YOURNAME\\Projects\\quartus",
"defaultLanguage": "vhdl"
}
```
## MCP客户端示例
Claude Desktop MCP条目示例:
```json
{
"mcpServers": {
"quartus-mcp": {
"command": "C:\\Users\\YOURNAME\\Projects\\quartus-mcp\\.venv\\Scripts\\python.exe",
"args": [
"C:\\Users\\YOURNAME\\Projects\\quartus-mcp\\app.py"
],
"env": {
"QUARTUS_MCP_CONFIG": "C:\\Users\\YOURNAME\\Projects\\quartus-mcp\\config\\quartus_mcp.json"
}
}
}
}
```
## 截图
### MCP已连接并在线

### Quartus运行成功/状态输出

### 本地MCP服务器进程正在运行

## 烟雾测试工作流程
一个良好的端到端测试是 **全加器实验室项目**。
示例工作流程:
1. 创建一个新的Quartus项目
2. 添加/注册:
- `NAND3_YourName.vhd`
- `NAND4_YourName.vhd`
- `FullAdder_YourName.vhd`
3. 将顶级实体设置为 `FullAdder_YourName`
4. 运行编译
5. 检查错误/警告
6. 迭代直到干净
该仓库正是为了这种旧课程流程而开发的。
## 已知限制
- 目前专注于 **Quartus II 9.1 SP2**
- 假设旧的Altera安装布局
- Tcl是主要的执行后端
- 较新的Quartus Prime版本可能需要不同的构建逻辑
- GUI任务目前超出了范围
- 设备编程流程还不是主要关注点
## 安全/发布说明
请勿提交:
- 个人MCP包装配置文件
- 本地备份文件
- API令牌
- 机器特定机密
- 私有绝对路径,除非它们是清理的示例
如果您的 `quartus_mcp.json` 包含个人路径,请将其保存在本地。
## 为什么存在
许多课堂FPGA工具都很旧,笨拙,并且不适合自动化。本项目旨在减少旧Quartus课程的痛苦,特别是当与AI辅助编码/规划工具一起使用时。
如果它能帮助当前同学和未来的学生减少与Quartus的斗争,更多地理解数字逻辑,那么它就完成了它的任务。
## 许可证
MIT