Архитектура цифровых устройств: разбираемся с процедурными и конвейерными вычислениями

Привет! Меня зовут Кирилл Алексеев, я ведущий инженер в отделе интеграции систем на кристалле радиочастотного центра YADRO. В своей предыдущей статье я рассказывал, чем FPGA-разработка отличается от программирования: HDL-код описывает не последовательность инструкций, а цифровую схему. Вместо переменных — проводники, соединяющие выход одного аппаратно-реализуемого блока со входом другого, а все описанные модули (блоки) присутствуют на схеме независимо и работают параллельно.
Дальше — интереснее. К реализации одной и той же цифровой схемы есть множество подходов и огромное количество вариантов последовательности обработки данных. Как это устроено, расскажу в статье. Разберем, что такое архитектура и микроархитектура блока, чем процедурная схема отличается от конвейерной. Сравним две различные микроархитектуры — процедурные реализации схемы цифрового КИХ-фильтра.
Статья будет полезна специалистам, которые только начинают работать с ПЛИС: сможете реализовать цифровую схему на практике. Опытных инженеров приглашаю в комментарии для обмена кейсами.
