Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii.doc
Скачиваний:
58
Добавлен:
15.12.2018
Размер:
631.81 Кб
Скачать

End block Bl;

B2: block (sel = 2) is begin

с <= guarded D;

End block b2;

выдают в общую шину, представленную сигналом с, целое значение А при условии равенства 1 управляющего сигнала sel (т.е. когда сигнал guard<=(sel = 1) равен true) и значение сигнала D при другом условии в выражении сдерживания. Если guard = false, то источник сигнала отключается от шины, т.е. выполняется его сдерживание. От­ключение источника может происходить с задержкой, устанавливаемой в объявлении disconnect, которое следует за объявлением сигнала. В приведенном примере отключение происходит с задержкой 2 не.

В случае, когда не выбран ни один источник, сигнал принимает свое предыдущее значение, если источник сигнала типа register или предварительно заданное значение, если источник сигнала типа bus. Ключевыми словами register и bus сигналы обозначаются при их объявлении. Благодаря механизму сдерживания, один сигнал может иметь несколько источников - выходов блоков. При этом правиль­ное поведение этого сигнала состоит в выборке не более одного ис­точника сигнала одновременно, т.е. сигнал guard защищает (guards) общую шину от неправильного функционирования. Таким образом,

еще одной основной функцией блоков в VHDL является организация нескольких источников для одного сигнала.

Обычно трансляция операторов блоков поддерживается компиля­торами-синтезаторами. Но использование механизма подключения к общей шине, обеспечиваемого блоками, а также программирование поведения модели, связанное с ключевыми словами register, bus, disconnect, как правило, запрещаются. Также не поддерживаются связывания портов и настроечных констант в блоках.

Стили программирования

Операторы процесса задают поведение сигналов в зависимости от событий, происходящих во времени. Поэтому если архитектура включает только операторы процесса, то говорят, что такая архи­тектура описана поведенческим стилем.

Операторы параллельного присваивания, вызова процедуры, ус­ловного и селективного параллельного присваивания указывают по­токи данных между линиями связи, обозначенными идентификато­рами сигналов, а также обработку этих потоков. Поэтому если в теле архитектуры встречаются только такие операторы, то говорят, что эта архитектура написана стилем потоков данных.

Наконец, в архитектуре, описанной только операторами вставки компонента, закодирована структура проектируемого устройства. Сами операторы отвечают структурным блокам, а сигналы, связан­ные с портами — линиям связи между этими блоками. Поэтому го­ворят, что такая архитектура описана структурным стилем.

Естественно, архитектуры, описанные различными стилями, мо­гут иметь произвольное количество операторов generate и block. Часто встречаются архитектуры, описанные смешанным стилем.

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

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

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