Применение языка VHDL при проектировании специализированных СБИС. Ивченко В.Г. - 29 стр.

UptoLike

Составители: 

30
приходящего с массива ROM. Когда Enable равен '0', то шинный интерфейс полностью отсоединяется от DBus
путем установки высокоимпедансного состояния 'Z' на всех линиях. В случае, когда Enable равен 'Z' или 'E', на
всех линиях устанавливается значение ошибки 'E'.
Триггер адреса ABR, являющийся триггером-защелкой, описывается при помощи управляемого назначения
(guarded assignment). Выражение в скобках, в начале открывающего блок предложения, называется
управляющим выражением (guard expression). Предложение внутри блока с ключевым словом guarded в правой
части будет воздействовать на выход, только когда значение управляющего выражения истинно. В этом случае
значение ADDR будет повторять значения с 0 по 15 разрядов ABus до тех пор, пока значение MRint равно 0.
Когда MRint переключается в единицу в начале цикла доступа к памяти, то адрес фиксируется и последующие
изменения на ABus не оказывают влияния на ADDR.
Архитектура использует множество логических операторов над типами MVL и MVL_vector. Эти операторы
не являются предопределенными; они объявлены в пакете Defs.
2.2.2. Разрешенные сигналы
На рис. 8 приведен фрагмент архитектуры системы сбора данных, которая собирается из компонентов на
уровне плат. Среди компонентов имеется MemoryBoard и плата AtoD, содержащая аналого-цифровые
преобразователи и связанную с ними логику. Приведены объявления некоторых из сигналов на
объединительной плате, которые должны быть использованы для соединения компонентов.
Во второй части рис. 8 после слова begin сигналы присоединяются к портам компонентов MemoryBoard и
AtoD при помощи именованного сопоставления (named association). Каждый элемент списка портов состоит из
имени порта (из объявления компонента), за которым следует символ =>, и затем сигнал, который должен быть
связан с этим портом. (не следует путать символ <= , используемый при назначении сигнала, с символом =>,
используемым в именованном сопоставлении).
architecture boards of acquisition_system is
component MemoryBoard
port ( ABus: in address; DBus: out byte;
MemReq: in wbit; BusReq: out wbit;
BusAck: in wbit; DataRdy: out wbit);
end component;
component AtoD
port ( ABus: in address; DBus: out byte;
BusReq: out wbit; BusAck: in wbit;
DataRdy: out wbit );
end component;
signal ADBS: address_bus;
signal DBS: byte;
signal BRQ, BAC, DRY, MRQ: wbit;
.
.
begin
Slot_1: MemoryBoard
port map ( ABus=> ADBS, DBus=> DBS,
MemReq=> MRQ, BusReq=> BRQ,
BusAck=> BAC, DataRdy=>DRY );
Slot_2:AtoD
port map ( ABus=> ADBS, DBus=> DBS,
BusReq=> BRQ, BusAck=> BAC,
DataRdy=>DRY);
Slot_3: ...
.
.
Рис. 8. Архитектура, использующая плату памяти
Каждый из сигналов на соединительной плате присоединяется к нескольким портам. Например, ADBS
присоединяется как к адресному порту платы памяти, так и к такому же порту на плате аналого-цифрового
преобразователя. Каждая из подсистем использует значение ADBS для определения: выбрана ли она в текущий
момент времени.
Смысл других соединений не так ясен. Сигнал BRQ устанавливается запросом на шину выходов обеих плат.
Каждая плата устанавливает BRQ в '0', если ей требуется использовать шину данных, и '1' в противном случае.
Говорят, что сигнал BRQ имеет множество источников. В каждый момент времени только одна из плат на
соединительной плате устанавливает значение '0'. Какое же значение принимает BRQ?
Результат зависит от технологии реализации. При использовании ТТЛ логики с открытым коллектором
результатом будет проводное "И" всех источников. При использовании ТТЛ с обычными выходами результатом
может произойти выход из строя соответствующего логического элемента (представленный символом 'E' в