Процессор весьма полезный элемент в проектах на FPGA. Часто в таких проектах требуется какое-то вычислительное или управляющее устройство, отнюдь не предельного быстродействия. Да, конечно всё что нужно, теоретически можно сделать ручками прямо на железе. Но во-первых ресурсы кристалла не бесплатны. Во-вторых это трудно. В третьих, и это главное, никому оно не надо. Проще такие вещи делать программно. Можно конечно прикрутить внешний микроконтроллер. Но это лишний компонент в изделии, а следовательно бОльшая трудоемкость разработки и цена. Вот тут (если конечно кристалл уже не набит под завязку) и понадобится Его Величество Процессор !
Проектов процессоров для FPGA великое множество. Можно посмотреть хотя бы тут. Всех их условно можно разбить на два класса. Мощные, созданные для практических задач, такие как Nios или MicroBlaze, и игрушечные, придуманные на коленке любителями, чтобы немного почесать своё ЧСВ. Мол какой я крутой ! Сделал сам процессор и даже запустил на нём какую-то программку ! Первые как правило это RISC-архитектура с множеством регистров. Вторые это обычно Forth-процессоры, весьма минималистичного стиля, и пригодные скорее только как игрушки для гиков. Однако перед первыми у них есть очень серьёзное преимущество. Недостижимая ни для каких других архитектур плотность кода. Особенно ценно это в FPGA. Память внутри кристалла не бесконечна. А программы мы хотим писать и писать ! Подключать внешнюю микросхему RAM не хочется. Вот ту-то и становится важным, чтобы в ограниченной памяти могло поместиться как можно больше машинных команд !
Проницательный читатель наверно уже догадался, что речь тут пойдёт о Forth-процессоре, который уже отнюдь не является игрушечным, а предназначен для решения вполне практических и серьёзных задач. И будет прав. Где же взять такой процессор ? Не знаю. Может где-то и можно. Но мы пойдем другим путём ! Спроектируем такой процессор шаг за шагом вместе с читателями, а потом (и одновременно с этим !) сделаем для него ассемблер, эмулятор, отладчик и IDE для разработки. Возможно позже появится компилятор C/C++. Если эта тема интересна, ставьте лайки, пишите комменты, и подписывайтесь на канал !
Искренне ваш,
Железячник :))))