Чтобы без особых проблем разрабатывать и поддерживать проекты, их нужно структурировать. В своих проектах люди используют абстракцию вне зависимости от характера разработки — будь-то электронное устройство, программа или механическая деталь. В этой статье пойдет речь о том, как использовать иерархию в VHDL-коде.
Зачастую весь VHDL-код умещают в одном файле на одном уровне. Если бы мы, к примеру, разрабатывали печатную плату, то не стали бы размещать на ней кучу дискретных компонентов. Вместо этого мы бы взяли микроконтроллеры, микросхемы памяти и другие устройства и классифицировали бы их как «компоненты», которые должны выполнять определенные функции. В некоторых случаях мы бы использовали на плате отдельные компоненты несколько раз. Это бы существенно упростило нашу работу.
Если мы сравним разработку VHDL-кода с созданием печатной платы, то мы можем думать о нем, как об одноуровневой плате с большим количеством устройств и компонентов на ней. Плата не выполняет никаких других функций, кроме соединения определенным образом всех проводов. Этот же подход можно применить к VHDL, как показано на примере ниже.