Kostochkin 0 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба Здравствуйте. У меня такой вопрос : Как верифицировать verilog проект для плис, используя python? Написать тестбенч на python и подключить к нему все файлы verilog? Или в python создается только файл (txt например) входных воздействий, и его надо подключить к тестбенчу в modelsim? Если так, то как проверить результат моделирования при помощи python? Или в python пишется и проверяется testbench, конвертируется в verilog и используется в modelsim? Благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба https://habr.com/ru/post/442010/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kostochkin 0 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба 2 minutes ago, Lmx2315 said: https://habr.com/ru/post/442010/ В этой статье проект на плис пишется на python и верифицируется на python. А меня интересует как готовый проект на HDL верифицировать на python. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба Приветствую! А вам обязательно на python? Любая верификация предполагает генерацию требуемых входных воздействий, прием выходных откликов, сравнение откликов с эталонной моделью, сбор статистики о покрытии тестами. Соответственно народ пытается придумать различные фреймворки и методологии чтобы упростить этот неблагодарный процесс. Как пример Cocotb. В случае с txt файлами это самый простой и классический способ. Но для каждого нового проекта фактически верификацию пишете почти с нуля. Фреймвоки позволяют при должной организации автоматизировать ряд процессов и реюзать часть модулей в новых проектах. Но при этом требуется начальные усилия (и не малые) на организацию и вхождения в технологии. Тут зависит от того на сколько вы хотите погрязнуть в этом деле. Удачи! Rob. P.S. Все такие фреймворки (внешние по отношению к симулятору) обычно работают через PLI/VPI/DPI интерфейс в симуляторе. Вы можете и сами сделать такое подключение напрямую из вашей python программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба 14 минут назад, Kostochkin сказал: В этой статье проект на плис пишется на python и верифицируется на python. А меня интересует как готовый проект на HDL верифицировать на python. имхо такого нет, если вы ищете замену платному симулятору есть icarus verilog . максимум на python пишут обслуживающие симуляцию вещи, сама симуляция/верификация идёт на другом ПО. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kostochkin 0 18 марта, 2020 Опубликовано 18 марта, 2020 · Жалоба Благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 28 марта, 2020 Опубликовано 28 марта, 2020 · Жалоба А я некоторое время использовал Cocotb фреймворк - он для тестирования FPGA. Надо сказать это очень классный инструмент с кучей библиотек что есть в питоне, но он оказался неразвитым в полной мере. Не хватало штатного режима чтобы запустить 8 симуляторов на 8 ядрах и объединять результаты через некий пул - пришлось велосипедировать. Симуляторы не параллелятся, так что при куче ядер и памяти до дури - это было важно. Правда было немного трудновато с возвращаемыми значениями (например, функция чтения RAM), как назло документация не раскрывала этого важного ньюанса - решил через raise. Но это всё было туго и неочевидно, не то что ждешь от развитого инструмента. На момент применения, была не полная поддержка Python 3, и под Windows было очень тяжело скомпилировать, не помню даже как удалось. Это нужно было для коллег, а на Linux вообще легко было. В общем, судя по коммитам Cocotb продолжает развиваться, и я надеюсь однажды там будет всё гораздо проще - подключил указал и полетело. Два года назад было туговато... Но мне понравился Cocotb очень, это восхитительно иметь такую связь Python и HDL-симулятора. Жаль разворачивать у коллег очень тяжело, пока что это инструмент для себя не для работы в коллективе - вот это огромный минус, увы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 18 декабря, 2020 Опубликовано 18 декабря, 2020 · Жалоба Я прокачивал Verilog PLI/VPI + Lua 5.3. Т.е. В верилоге делал модуль (имитатор мастера на системной шине), который управлялся через PLI/VPI Lua - скриптом. Вроде даже работало. Имитировал процессор в основном цикле и в обработчике прерывания. Даже получился эксперимент с общением этого чуда по локальной сети через Lua Sockets по UDP. При должном терпении и мотивации это можно прикрутить к qemu (как вариант через сокеты) и/или к SystemC-AMS... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 16 января, 2021 Опубликовано 16 января, 2021 · Жалоба Основной файл интерфейса Verilog <-> Lua поместил в https://github.com/yrasik/Verilog_Lua. По аналогии можно и для Python подобное изобразить.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться