Pull to refresh

Comments 7

Другой пример (мой) на GitHub (https://github.com/urvantsev/radiocores). Он включает devcontainer и поддерживает запуск в GitHub Codespaces. Для контроля качества кода используется Verible, а тестирование осуществляется через pytest для моделей и HDL. Симуляция HDL проходит в Verilator, а тесты написаны на cocotb. В процессе непрерывной интеграции (CI) создаются отчёты о покрытии кода тестами, как для моделей, так и для HDL. Эти отчёты автоматически публикуются на сайте codecov.io (https://app.codecov.io/github/urvantsev/radiocores?branch=master). На главной странице проекта есть значок codecov, клик по которому перенаправляет на страницу с этими отчётами.

Очень круто)) почти по каждому слову на английском языке можно написать небольшую (или большую) статью)

Благодарю за поддержку. В будущем, возможно, напишу об этом, если решусь на это. Сейчас я планирую интегрировать FuseSoC в проект. Недавно Olof Kindgren добавил поддержку cocotb в эту систему. После этого я намерен расширить проект, добавляя ядра для цифрового радио. На данный момент в проекте присутствует только один простой пример на HDL. Моя основная цель была наработать опыт разработки с использованием открытых и современных инструментов.

OpenSource в fpga и asic это весело, но к сожалению пока это скорее про хобби, чем серьезную разработку. Как мне кажется. Интеиесно посмотреть получится ли у pyuvm это изменить.

Вы правы, текущая ситуация действительно такова. Но есть и положительные изменения. В FPGA теперь часто используют cocotb в сочетании с Verilator для верификации, так как цена ошибки здесь не так велика, как в ASIC. Однако в области открытых инструментов для синтеза FPGA и P&R до сих пор есть пробелы и перспективы пока неясны.

Среди достижений — появление открытых линтеров, например, тот же Verilator и Verible. Недавно Verilator с поддержкой AntMicro обновил поддержку для UVM, что приближает верификацию к возможности быть полностью открытой и удобной. RapidSilicon обещает FPGA с полностью открытым набором инструментов. В этой области активно ведется работа.

Кроме того, в США и Европе выделяют значительные средства на развитие микроэлектроники из-за политической ситуации. В их программных документах особо подчеркивается важность демократизации этой сферы, включая развитие открытых инструментов, что должно снизить порог входа и улучшить качество образования. Так что есть надежда)

После завершения моделирования, если не случилось ничего экстраординарного, симулятор всегда вернет нулевой код возврата независимо от того, были ли обнаружены ошибки во время выполнения тестов или нет.

iverilog до какой-то там версии (тот что в репозитории ubuntu 20.04 так точно) не возвращает error на $fatal(); в 22.04 этой проблемы уже нет и тесты таки падают.

Sign up to leave a comment.

Articles