Переход от FPGA к ASIC: упражнение по исправлению ошибок

Проект по переносу упражнений из BGM (basics-graphics-music) в инфраструктуру Tiny Tapeout для создания ASIC выявил ряд проблем в коде, который корректно работает на FPGA, но вызывает ошибки при синтезе ASIC. Основные проблемы включают в себя смесь синхронных и асинхронных сбросов, использование устаревшей директивы timescale, синхронизированный сигнал сброса и инициализацию logic или reg, которая неприемлема для ASIC.
Переход от FPGA к ASIC: упражнение по исправлению ошибок
Изображение носит иллюстративный характер

В частности, основной баг возникает на этапе оптимизации программой ABC, где, по всей видимости, есть скрытая проблема в логике, которая не является явным D-триггером с чувствительностью к уровню. Этот баг нужно тщательно исследовать. Эти ошибки препятствуют синтезу проекта, в частности при использовании Open Lane (Yosys, ABC, OpenROAD).

Устранение этих ошибок может быть выполнено с использованием веб-инфраструктуры Tiny Tapeout, позволяющей разработчикам вносить изменения в код через Github. После форка репозитория и включения Actions, каждый push автоматически запускает синтез проекта, что упрощает процесс отладки.

Успешное устранение проблем в шаблоне позволит провести семинары и хакатоны по FPGA и ASIC, включая регионы Африки. Это откроет возможность для обучения и создания собственных ASIC-чипов студентами и любителями, а также позволит использовать уже готовые проекты, например, реализацию игры Понг.


Новое на сайте

5634Как правильно установить и настроить PostgreSQL в Linux? 5633Действительно ли цифровая трансформация повышает эффективность производства? 5632Как получить справедливую зарплату в эпоху ИИ-рекрутинга и заносчивых лидов? 5631Загадки синих колец: как вулканы изменяют историю деревьев 5630Могут ли звёзды-каннибалы пролить свет на тайны вселенной? 5629Какие RAG-фреймворки выбрать: LangChain или LlamaIndex? 5628Ускорит ли RoadRunner PHP-приложение? 5627Как эффективно диагностировать проблемы производительности PostgreSQL? 5626Каковы самые причудливые особенности синтаксиса языков программирования? 5625Почему Великобритания срочно переходит на зеленую энергию и что это означает для рабочих? 5623Ядовитая петля: битва за жизнь совенка в суффолке 5622Оазис роскоши: изысканный путь к самопознанию в Дубае 5621Почему карьера ученого стала лотереей? 5620Станет ли Ньюкасл новой столицей черной музыки на церемонии MOBO Awards 2025?