Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PROGRAMMIRUEMYE_TsIFROVYE_USTROJSTVA.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.86 Mб
Скачать
  1. Оператор генерации generate языка vhdl.

Структурное описание позволяет описать систему как совокупность компонентов — подсистем, объединенных сигналами.

Для того чтобы один объект моделирования мог быть включен в состав другого объекта, его необходимо декларировать как компонент.

Декларация компонента имеет следующий синтаксис:

Component имя компонента is [generic (generic_interface_list);]

[port (port_interface_list);]

end component [имя компонента];

Задав декларацию компонентов, мы описываем спецификацию проектируемого объекта, определив, какого типа компоненты в него входят.

Оператор генерации (generate).

Оператор генерации generate позволяет компактно описать модель из входящих в нее компонентов.

Оператор генерации имеет следующий синтаксис:

Group_label: for index in range generate

Element_label: component_name [generic map (generic_accosiation_list)]

[port map (port_accosiacion_list)]

end generate [Group__label];

Список Generic_association_list содержит фактические значения обобщающих констант.

Допускается вложенность операторов генерации

  1. Задание конфигурации компонентов на языке vhdl. Конфигурационная спецификация и конфигурационная декларация.

В общем случае объект моделирования может иметь несколько описаний архитектуры.

entity LA3=> erc 1 bch 1 of LA3

erc 2 bch 2 of LA3

…..

Для задания нужного описания используется конфигурация, т. е. связывание объекта с одним из описаний его архитектуры. Использование конфигурации позволяет создавать гибкие модели.

Формы задания конфигурации:

1.)Конфигурация спецификации:

for(метка экземпляра компонента, all, others): имя_компонента

use entity имя_entity[(имя архитектуры тела)];

end for;

Пример:

for bit0, bit1:flipflop

use entity work. edge_triggered_dff(basic);

end for;

Изменение конфигурации спецификации приводит к изменению текста модели объекта, что неудобно.

2.) Конфигурация декларации содержит ту же информацию, что и спецификация но может быть расположена в отдельном файле.

configuration имя_конфигурации of имя_entity is

for имя конфигурации. описания

{for(…) end for;}

end for

end configuration имя_конфигурации.

Пример:

сonfiguration conf1 of ent_bit is

for ent_bits_struct

for bit0, bit1:flipflop

use entity work. edge_triggered_dff(basic);

end for;

end for;

end configuration conf1;

  1. Задание конфигурации компонентов на языке vhdl. Правила связывания по умолчанию.

В общем случае объект моделирования может иметь несколько описаний архитектуры.

entity LA3=> erc 1 bch 1 of LA3

erc 2 bch 2 of LA3

…..

Для задания нужного описания используется конфигурация, т. е. связывание объекта с одним из описаний его архитектуры. Использование конфигурации позволяет создавать гибкие модели.

Формы задания конфигурации:

1.)Конфигурация спецификации:

for(метка экземпляра компонента, all, others): имя_компонента

use entity имя_entity[(имя архитектуры тела)];

end for;

Пример:

for bit0, bit1:flipflop

use entity work. edge_triggered_dff(basic);

end for;

Изменение конфигурации спецификации приводит к изменению текста модели объекта, что неудобно.

2.) Конфигурация декларации содержит ту же информацию, что и спецификация но может быть расположена в отдельном файле.

configuration имя_конфигурации of имя_entity is

for имя конфигурации. описания

{for(…) end for;}

end for

end configuration имя_конфигурации.

Пример:

сonfiguration conf1 of ent_bit is

for ent_bits_struct

for bit0, bit1:flipflop

use entity work. edge_triggered_dff(basic);

end for;

end for;

end configuration conf1;

Правила связывания по умолчанию:

a. Для компонентов автоматически имеется объект с тем же именем;

2.) если используется архитектура тел, то для связывания используется то, которое компилируется последним

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]