TW

tencent/wave-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

253 stars 36 forks Качество 79 Тренд 39NOASSERTION

Открытый, безлицензионный 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"] } } }