Изучение VHDLОбъявление конфигурации.
После того, как проект описан в виде объекта и его архитектуры, которая включает в себя различные компоненты, эти компоненты можно заменить на другие с таким же интерфейсом, применив объявление конфигурации. Его упрощенный синтаксис:
\объявление конфигурации\::=
configuration \идентификатор\ of \имя объекта\ is
for \имя архитектуры\
{for \указатели вставки компонента\: \имя компонента\
\указатель связывания\;
end for;}
end for;
end [configuration] [\идентификатор\];
\ указатели вставки компонента \::=\метка вставки компонента\
{,\метка вставки компонента\} | others | all
\указатель связывания\::= use entity
\имя объекта\ [(\идентификатор архитектуры\)]
При разработке вычислительного устройства его обычно тестируют на различных этапах проектирования с помощью одного и того же испытательного стенда (test bench), который также описан с помощью пары объект – архитектура, например, ALU_TB(TB_ARCH). В этом случае вставленный в испытательный стенд компонент тестируемого объекта, например, ALU с меткой UUT (unit under test), имеет различное исполнение, т.е. архитектуру, например, RTL. Для того, чтобы не изменять описание архитектуры испытательного стенда, изменяют только его конфигурацию, например:
configuration TESTBENCH_FOR_ALU of ALU_TB is
for TB_ARCH
for UUT: ALU
use entity work.ALU(RTL);
end for;
end for;
end TESTBENCH_FOR_ALU;
Расширенный синтаксис объявления конфигурации предполагает такие возможности, как подключение других конфигураций, вставку компонента непосредственно в конфигурации (в указателе связывания), связывание настроечных констант компонента с новыми значениями, отключение компонента от схемы (отложенное включение, когда в указателе связывания – ключевые слова use open).
Если в конфигурации используются компоненты, описанные в другой библиотеке, то их делают видимыми с помощью описаний library и use , которые ставят перед конфигурацией.