Переход от 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-чипов студентами и любителями, а также позволит использовать уже готовые проекты, например, реализацию игры Понг.


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

19857Острова как политический побег: от Атлантиды до плавучих государств Питера Тиля 19856Яйца, которые спасли предков млекопитающих от худшего апокалипсиса на Земле? 19855Могут ли омары чувствовать боль, и почему учёные требуют запретить варить их живыми? 19854Премия в $3 млн за первое CRISPR-лечение серповидноклеточной анемии 19853Почему сотрудники игнорируют корпоративное обучение и как это исправить 19852Тинтагель: место силы Артура или красивая легенда? 19851Голоса в голове сказали правду: что происходит, когда галлюцинации ставят диагноз точнее... 19850Куда исчезает информация из чёрных дыр, если они вообще исчезают? 19849Чёрная дыра лебедь Х-1 бросает джеты со скоростью света — но кто ими управляет? 19848Что увидели фотографы над замком Линдисфарн — и почему они закричали? 19847Почему антисептики в больницах могут создавать устойчивых к ним микробов? 19846Правда ли, что курица может жить без головы? 19845Как Оскар Уайльд использовал причёску как оружие против викторианской морали? 19844Назальный спрей против всех вирусов: как далеко зашла наука 19843«Я ещё не осознал, что мы только что сделали»: первая пресс-конференция экипажа Artemis II
Ссылка