Объявление конфигурации

Cодержание Следующая

Изучение 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. Для того, чтобы не изменять описание архитектуры испытательного стенда, изменяют только его конфигурацию, например:

confіguratіon TESTBENCH_FOR_ALU of ALU_TB іs
        for  TB_ARCH
            for UUT: ALU
                use entіty work.ALU(RTL);
            end for;
        end for;
   end TESTBENCH_FOR_ALU;

Расширенный синтаксис объявления конфигурации предполагает такие возможности, как подключение других конфигураций, вставку компонента непосредственно в конфигурации (в указателе связывания), связывание настроечных констант компонента с новыми значениями, отключение компонента от схемы (отложенное включение, когда в указателе связывания – ключевые слова use open).

Если в конфигурации используются компоненты, описанные в другой библиотеке, то их делают видимыми с помощью описаний library и use, которые ставят перед конфигурацией.

Конфигурации обычно игнорируются компиляторами – синтезаторами.

Анатолий Сергиенко
E-mail: aser@comsys.kpi.ua