VHDL не допускает множественные драйверы в сигналах неопределенного типа. Для сигналов определенных типов, VHDL допускает (определяемую пользователем) функцию разрешающей способности определяющую куда будет поступать значение сигнала в операторе выбора (case), если в сигнале имеется множественный драйвер (одновременные назначения).
Функция разрешающей способности с мета - логическими значениями ('Z', 'X', и т.д.) вообще приводит к поведению, которое не синтезируемо (так как логические схемы не могут производить мета - логические значения). Поэтому, в общем случае, инструментальные средства синтеза VHDL не разрешают множественные драйверы в сигнале. Однако, если функция разрешающей способности определяет поведение множественных драйверов с тремя состояниями на шине, множественные драйверы сигнала могут представлять синтезируемое поведение.
Значение 'Z', обычно идентифицируется как поведение с тремя состояниями. Функция разрешающей способности с типом IEEE std_logic (разрешенный) написана так, чтобы множественные драйверы на сигнале std_logic походили на множественные драйверы на шине с тремя состояниями. Поэтому, инструментальные средства синтеза принимают множественные назначения на тот же самый сигнал, пока каждое присвоение условно установлено в значение 'Z'. Инструментальные средства синтеза разрешают свободное использование 'Z' назначений (или от инструкций потока данных, или от операторов процесса внутри процедур). Инструментальные средства синтеза поддерживают драйверы с тремя состояниями, чтобы подражать поведению с тремя состояниями.
Важно обратить внимание на то, что инструментальные средства синтеза не проверяют, имеется ли конфликт шины на управляемой шине. В этом случае, моделирование может снова вызвать функцию разрешающей способности, чтобы определить значение (обычно производится мета - логическое значение), но поведение для синтеза не определяется. Уход от конфликтов шин - ответственность пользователя.
Синтаксические и семантические ограничения.
VHDL в стандарте IEEE 1076 это расширенный язык со многими конструкциями, которые являются полезными для моделирования. Однако, в течение начального развития языка, логический синтез не принимался во внимание. Поэтому, множество конструкций или комбинации конструкций не может быть осуществлено в фактических схемах. VHDL 1076 полностью моделируемо, но не полностью синтезируемо.
Ограничения инструмента синтеза
· Не поддерживаются операции над файлами. Файлы в VHDL могли бы вести себя подобно ROM или оперативной памяти, но инструментальные средства синтеза не поддерживают использование файла (тип). Инструментальные средства синтеза игнорируют только объявление типа файл.
· Не поддерживаются операции над объектами вещественного типа. Объекты вещественного типа не имеют определенного размера. Инструментальные средства синтеза игнорируют только объявления объектов вещественного типа.
· Не поддерживаются операции над объектами с типом доступ, так как они ведут к несинтезируемому поведению. Инструментальные средства синтеза игнорируют только объявление объектов с типом доступ.
· Не поддерживаются BEHAVIOR, STRUCTURE, LAST_EVENT, LAST_ACTIVE, и TRANSACTION.
· Конфигурации игнорируют; заданный по умолчанию компонент.
· Не поддерживаются глобальная переменная, непостоянные сигналы - то есть сигналы, объявленные в пакете.
· Не поддерживаются программы распределения, потому что они выполняют динамическое распределение ресурсов, которое не синтезируемо.
· Игнорируются объявления конфигурации. Инструментальные средства синтеза разрешают только объекты или компоненты как основные стандартные блоки проекта. Спецификации конфигурации поддерживаются.
· Не поддерживаются программы распределения, потому что они исполняют динамическое распределение ресурсов, которое не синтезируемо. Объявления сигнала регистра и шины не поддерживаются. Это позволяют сделать только функции разрешающей способности с директивой синтеза.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.