FPGA реализует регистр отображения памяти

Я относительно новичок в программировании на fpga (vhdl). Так что я понятия не имею о стоимости ресурсов для различных решений проблемы... Поэтому мне было интересно, какой подход наиболее целесообразен, если я хочу реализовать регистры с отображением в памяти внутри проекта fpga. Если я спроектирую адресный декодер 1, который стробирует все регистры на совпадение адресов, или лучше спроектировать каждый регистр с его собственным декодером (или, по крайней мере, каждый субкомпонент, такой как генератор pwm, который использует пару регистров в моей реализации).

Заранее спасибо за понимание С уважением Ян

1 ответ

Решение

Критическим ресурсом обычно являются не шлюзы (LUT), а время разработки, поэтому первостепенной задачей является упрощение управления проектом и повторное использование модулей.

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

Таким образом, в вашем случае генератор ШИМ должен иметь отдельный адресный декодер для регистров, выделенных в адресном пространстве, предоставленном модулю ШИМ на следующем более высоком уровне в иерархии.

Чтобы узнать об использовании ресурсов, вы можете установить инструмент синтеза FPGA и поэкспериментировать с различными подходами; Это хорошее упражнение, которое поможет вам выбрать между различными реализациями.

Другие вопросы по тегам