Skip to main content
Glama

ModelSim MCP Server

ModelSim/QuestaSim 自动化 MCP 服务器 — 为 AI 助手提供完整的 FPGA 仿真能力

概述

ModelSim MCP Server 将本机 ModelSim/QuestaSim 命令行工具暴露为 57 个 MCP 工具,覆盖从建库编译、仿真运行、波形分析、覆盖率收集到批量自动化的全流程。

与 QuartusMCP 互补:QuartusMCP 管理项目/编译/下载流程,ModelSimMCP 专注于仿真验证。

Related MCP server: vivado-mcp-agent

安装

git clone https://github.com/<your-name>/modelsim-mcp-server.git
cd modelsim-mcp-server
pip install -r requirements.txt

MCP 配置

WorkBuddy (Claude Code)

编辑 .mcp.json

{
  "mcpServers": {
    "modelsim-Lmcp": {
      "command": "python",
      "args": ["modelsim_mcp_server.py"],
      "cwd": "/path/to/modelsim-Lmcp-server"
    }
  }
}

QClaw

openclaw mcp add modelsim-Lmcp \
  --command python \
  --arg /path/to/modelsim_mcp_server.py \
  --cwd /path/to/modelsim-Lmcp-server \
  --env MODELSIM_BIN="/path/to/modelsim_ase/win32aloem"

或直接编辑 openclaw.json

{
  mcp: {
    servers: {
      "modelsim-Lmcp": {
        command: "python",
        args: ["modelsim_mcp_server.py"],
        cwd: "/path/to/modelsim-Lmcp-server",
        env: {
          MODELSIM_BIN: "/path/to/modelsim_ase/win32aloem"
        }
      }
    }
  }
}

Codex (OpenAI Codex CLI)

{
  "mcpServers": {
    "modelsim-Lmcp": {
      "type": "stdio",
      "command": "python",
      "args": ["modelsim_mcp_server.py"],
      "cwd": "/path/to/modelsim-Lmcp-server",
      "env": {
        "MODELSIM_BIN": "/path/to/modelsim_ase/win32aloem"
      }
    }
  }
}

修改配置后请重启对应的客户端。

环境变量(可选,自动发现通常够用)

变量

说明

默认

MODELSIM_BIN

ModelSim bin 目录

自动扫描 C/D/E/F 盘

MODELSIM_ROOT

ModelSim 安装根目录

自动扫描

自动发现支持:

  • C:/D:/E:/F:\intelFPGA_lite\*\modelsim_ase\win32aloem

  • C:/D:/E:/F:\intelFPGA\*\modelsim_ase\*

  • C:/D:/E:/F:\modeltech*\win64(or win32)

工具清单 (57 tools, 15 sections)

1. 环境与发现 (3)

工具

说明

discover_modelsim

自动发现本机 ModelSim 安装

check_modelsim_license

检查许可证状态

get_modelsim_version

获取版本号

2. 库管理 (5)

工具

说明

create_library

创建设计库 (vlib)

delete_library

删除设计库 (vdel)

map_library

映射逻辑库到物理路径 (vmap)

list_libraries

列出所有已映射库

list_design_units

列出库中编译好的设计单元 (vdir)

3. 编译 (3)

工具

说明

compile_verilog

编译 Verilog/SystemVerilog (vlog)

compile_vhdl

编译 VHDL (vcom)

compile_project

批量编译整个目录树

4. 仿真 (5)

工具

说明

start_simulation

启动仿真会话 (vsim)

run_simulation

完整六步流程:建库→编译→启动→加波形→运行→保存

simulation_flow_advanced

高级仿真:自定义信号、force、运行后操作

restart_simulation

重启当前仿真

quick_verilog_sim

最简一键仿真(4 参数)

5. 波形操作 (7)

工具

说明

save_wave_format

保存波形布局 (.do)

load_wave_format

加载波形布局

export_wave_image

导出波形图片 (BMP/PNG/JPG)

compare_waveforms

比较两个 WLF 文件 (wlfcmp)

convert_wlf_to_vcd

WLF → VCD 转换

convert_vcd_to_wlf

VCD → WLF 转换

view_waveform

离线查看 WLF 波形 (GUI)

6. 信号操作 (4)

工具

说明

force_signals

批量 force 信号

examine_signals

检查信号当前值

log_signals

log 信号到 WLF

add_wave_signals

添加信号到波形(支持分组、分隔线、进制)

7. 覆盖率分析 (3)

工具

说明

run_coverage_simulation

运行覆盖率仿真 + 生成报告

merge_coverage

合并 UCDB 覆盖率数据

coverage_exclude

排除/恢复覆盖率检查项

8. 批量与自动化 (4)

工具

说明

generate_do_file

生成可复用 DO 文件(含完整注释模板)

generate_batch_script

生成 Windows .bat 一键仿真脚本

execute_do_file

执行已有 DO 文件

create_makefile

生成 ModelSim Makefile (vmake)

9. SVA 断言仿真 (1)

工具

说明

run_assertion_simulation

SystemVerilog 断言仿真 + 断言窗口

10. 仿真库编译 (1)

工具

说明

compile_simulation_library

编译 Altera/Intel 器件仿真库 (atoms + altera_mf + lpm)

11. 工具类 (7)

工具

说明

check_error

查询错误代码含义 (verror)

view_source_file

显示源代码带行号 (vcat)

view_wlf_info

WLF 文件元信息 (wlfman)

recover_wlf

恢复损坏的 WLF (wlfrecover)

wlf_to_log

WLF 波形 → 文本日志

encrypt_verilog

加密 Verilog 源文件 (vencrypt)

run_tcl_commands

在 ModelSim 上下文中执行任意 Tcl 命令

12. 内存与数据检查 (2)

工具

说明

inspect_memory

查看仿真中内存实例内容

create_virtual_signal

创建虚拟信号/总线/函数

13. 调试 (2)

工具

说明

set_breakpoint

设置条件断点 (when)

record_transcript

录制/停止对话到 DO 文件

14. 快捷入口 (2)

工具

说明

quick_simulation

快速一键仿真

quick_verilog_sim

最简参数版仿真

使用示例

场景 1:一键仿真 mux4to1

{
  "rtl": "../rtl/mux4to1.sv",
  "tb": "../tb/mux4to1_tb.sv",
  "top_name": "mux4to1_tb",
  "work_dir": "D:\\Program\\quartus\\mux4to1\\prj"
}

场景 2:带覆盖率的完整仿真

{
  "top_module": "alu_tb",
  "rtl_files": "../rtl/*.sv",
  "tb_files": "../tb/alu_tb.sv",
  "coverage_types": "bcesxf",
  "save_ucdb": "alu_cov.ucdb"
}

场景 3:编译 Altera 器件库

{
  "quartus_root": "E:/intelFPGA_lite/18.1/quartus",
  "device_family": "cycloneive"
}

场景 4:生成可复用 DO 文件

generate_do_file
  cwd: "D:\\my_project\\sim"
  top_module: "tb_spi_master"
  coverage: "bcesxf"

→ 生成的 run.do 可手动编辑后双击 run.bat 执行

与 QuartusMCP 分工

流程

工具

创建项目、管脚分配、综合/布局布线

QuartusMCP

功能仿真、时序仿真、覆盖率

ModelSimMCP

SignalTap 调试、JTAG 下载

QuartusMCP

波形分析、VCD 转换、DO 脚本生成

ModelSimMCP

许可证

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/liujunjie666777/modelsim-Lmcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server