
tencent/wave-mcp
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Открытый, безлицензионный MCP-сервер для отладки RTL-волн: считывает FST-формы (автоконвертация VCD/FSDB) плюс нет-лист SystemVerilog, включающий 34 инструмента, охватывающих анализ драйверов, трассировку значений/X,...
Обзор
, предоставляет набор инструментов для отладки волновых форм для LLM: read, предлагающий иерархическое исследование, запросы сигнала, анализ драйверов, отслеживание значений/X-состояний, сравнение форм волн и просмотр форм в браузере, среди прочих. :Verilator --trace-fst, Icarus может читать напрямую, генерируя FST; Это нормально, если у вас есть только VCD или FSDB; prepare_session автоматически конвертировать и затем создать сессию (конвертация FSDB не занимает лицензию Verdi). Это **; вы можете использовать свой собственный процесс для генерации волновой формы и получения результата. Верификация микросхем составляет более 50% цикла разработки, при этом отладка форм волн была самой частой деятельностью. В эпоху LLM инженеры хотели, чтобы агенты ИИ могли напрямую читать формы волн, искать сигналы и отслеживать коренные причины X-состояния, но коммерческая отладка MCP на рынке требовала дорогих лицензий и ограниченной параллельности. Wave-MCP предоставляет полные возможности отладки волновых форм с помощью **(pylibfst + pyslang): . - : Иерархия проектирования, экземпляр, сигнал (ширина/направление/тип бита, включая агрегацию шины), значения сигнала (запрос/интервал, случайный доступ). - : Подключить, подключить, вставить вентилятор/выйти, объявить позицию (файл: номер строки). - :open_static_session Сессия построена только с использованием исходного кода RTL. - :trace_value Проходить назад по цепочке дисков, можно проходить через модули, каждый узел имеет истинное значение FST; trace_x Обследить коренную причину X. - : Автоматически добавить +incdir+ / источник пакета из pyslang diagnostics и перекомпиляция; Если не получится, система плавно понижается, и другие инструменты не пострадают. - : Если исходный код или волновая форма меняются, но нетлист не обновляется, срабатывает тревога; он никогда не выдаёт неверные результаты. - :d iff_waveforms определяет момент первого расхождения для сигналов pass/fail, сортирует сигналы по времени ветки, выравнивает тактовую дискретизацию для фильтрации сбоев. - :open_wave_view Позволяет агенту напрямую анализировать сигнал в браузере, подозрительный сигнал + курсор, закреплённый на всплывающем окне момент ошибки + объяснение анализа; Сравнение двух сигнальных форм lockstep; get_view_state Обратный датчик того, что видит пользователь. - :stdio (Один человек, один процесс, ноль операций) / HTTP многосессионный / Офлайн-автономный пакет (изолированная сеть). Некоторые реализации в конвертере FSDB (third_party/fsdb2fst) ссылаются на TraceWeave (MIT), и приоритет функций diff_waveforms также зависит от него. Подробности см. docs/THIRD_PARTY.md.
Обзор (машинный перевод)
Английский | Китайский упрощённый
wave-mcp — это открытый RTL-сервер отладки волновых форм, разработанный командой Tencent Penglai Lab Validation Team, предоставляющий набор инструментов для отладки волновых форм для LLM: Читайте FST волны + RTL-нетлисты и предоставляйте 37 инструменты MCP, включая иерархическое исследование, запросы сигналов, анализ драйверов, отслеживание значений/X-состояний, сравнение форм волн и просмотр волновых форм браузера. **Apache-2.0 является открытым исходным кодом, не требует коммерческой лицензии, поддерживает произвольную параллельность. **
Прямое считывание FST, VCD/FSDB автоматически преобразует в FST: Verilator
--trace-fstи Icarus могут читать FST напрямую; Это нормально, если у вас есть только VCD или FSDB;prepare_sessionавтоматически конвертирует и затем создаёт сессию (конвертация FSDB не является лицензией Verdi). Он не запускает симулятор; вы можете использовать свой собственный процесс для генерации волн и передавать ему результаты.
Почему Wave-MCP
Верификация чипов составляет более 50% цикла разработки, при этом наиболее частым видом деятельности является настройка формы волны. В эпоху LLM, Инженеры хотят, чтобы агенты ИИ напрямую читали волны, находили сигналы и отслеживали коренные причины X-состояний, но коммерческая отладка доступна на рынке MCP требуют дорогих лицензий и имеют ограниченную совместность.
Wave-MCP использует чистый стек открытых технологий (pylibfst + pyslang) для обеспечения полных возможностей отладки волновых форм: Нет лицензии, точные данные, одобрение аутентичного проекта Chip.
Валидация на уровне производства
Полностью проверено на настоящих проектах производственного класса чипов (десятки модулей), включая OpenTitan и Xiangshan в тестовый набор:
| Размерность | Результат |
|---|---|
| Масштаб тестирования | Более ста тестовых кейсов (проекты производственного уровня + 27 IP OpenTitan + 38 IP Сяншань) |
| Точность данных | 2,25 миллиона верификация на уровне сигнала, 100% точность запросов |
| Вызовы инструментов | Более 3,1 миллиона звонков, все прошли |
| Анализ дисков | Драйв / вентилятор / подключение / отслеживаемость полностью проверены на производственных проектах |
| Сверхбольшой модуль | Миллионы скопов со стабильным анализом |
| Покрытие инструментов | Все 37 инструментов проверены, при этом устройство включает просмотрщик/дифференциал и браузер обеспечивают сквозное покрытие |
Особенности
- Запрос к волновой форме: иерархии проектирования, примеры, сигналы (ширина/направление/тип бит, включая агрегацию шины), значения сигналов (запрос по точке/диапазон, случайный доступ).
- Статический анализ (pyslang Netlist): Подключить, приводить, вставить вентилятор/выпустить, объявить позицию (файл: номер строки).
- Нет статического анализа волновой формы:
open_static_sessionСессию можно создать только с использованием исходного кода RTL, анализ структуры проектирования может быть проведен перед симуляцией.
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"wave-mcp": {
"command": "python",
"args": ["-m", "wave_mcp.server", "--session", "/abs/path/to/sessions/my_module"]
}
}
}