Действительно ли нам нужен VHDL

       

Представление Системы в VHDL: Единицы Проекта


Действительно ли нам нужен VHDL? Представление Системы в VHDL: Единицы Проекта Объекты VHDL:Сигнал Спецификация Интерфейса Системы Конструкции VHDL для Описания Поведения Системы Описание Поведения при помощи Процессов Многократные Процессы в Архитектуре Определение Структуры Системы Испытание Проекта при помощи Испытательного стенда

Глава 2

Представление Системы в VHDL: Единицы Проекта

Содержание Главы 2

2.1. Краткий обзор Главы

2.2. Знакомство со Структурой Системы

2.2.1. Как Система Связывается с Окружающей ее средой



2.2.2. Тело Системы

2.2.3. Внешняя Поддержка

2.3. Объект Интерфейса

2.3.1. Главная Единица Проекта: Объект

2.3.2. Из чего состоит Интерфейс ?

2.3.3. Элементы Объекта

2.4. Архитектура Описывает Тело

2.4.1. Без Интерфейса нет Архитектуры

2.4.2. Типы Описания Архитектуры

2.4.3. Функциональное Описание

2.4.4. Структурное Описание

2.4.5. Однн Объект - Сколько Архитекту?

2.5. Пакет Поддерживает Другие Проекты

2.5.1. Концепция Пакета

2.5.2. Использование Пакетов в VHDL

2.5.3. Предопределенные Пакеты

Резюме

2.1. Краткий обзор Главы

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

Секция 2 показывает, как Вы можете описывать любую систему, используя только две основных части: интерфейс, который работает со связью между системой и ее окружающей средой, и телом которое представляет собой функциональные возможности. Как только Вы поймете главные цели интерфейса, и тела, изучение VHDL станет намного более легким.

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

  • Объекты (Секция 3) - представляют сущность как основную единицаупроекта , описывают структуру объекта и то, как это облегчает интерфейс между системой и окружающей ее средой;
  • Архитектуры (Секция 4) - представляет архитектуру как вторую ,наиболее важную единицу проекта, которая не может существовать без объекта; объясняются различные стили описания архитектуры (режимный и структурный);
  • Пакеты, которые поддерживают другие единицы проекта, объясняются в Секции 5, который описывает предопределенные пакеты типа Standard, TextIO , Std_logic_1164 и описывает, как использовать их в других единицах проекта.

2.2.1 Как Система Связывается с Окружающей ее средой


Хороший пример такого элементы поддержки - вставная карта,которая ускоряет графические операции в ПК.

В то время как такая добавляющаяся карта может рассматриваться, как часть системы, ради ясности давайте рассматривать это как третий элемент проекта системы и называть это пакетом.

Все три элемента проекта системы (интерфейс, тело и добавляющиеся части) обращаются в VHDL как отдельные проектные единицы и будут рассмотрены в следующих трех секциях.

Примеры:

Позвольте нам оборудовать человека в приложенной иллюстрации компьютером. Разве теперь не будет легче человеку исполнить сложные математические действия? Очевидно да. Это ведет к заключению, что система (человек) может быть оснащена внешней поддержкой (компьютер). Подобную роль в VHDL играют пакеты

Рисунок:

2.3.1. Главная Единица Проекта:Объект

Ключевые вопросы:

. Начать проект с анализа его окружающей среды - хорошая практика, нет ничего удивительного в том что объект , который описывает интерфейс между системой и ее окружающей средой - главная часть любой спецификации

Без декларации объекта нет никакой спецификации VHDL любой системы. Кроме того, все,что то определено в объекте, автоматически видимо всем другим единицам проекта, связанным с этим объектом.Более того, имя системы - всегда такое же как и имя ее объекта.

Обратите внимание: Всегда начинайте любой проект системы в VHDL с декларации объекта.

.

Примеры:

Каждая система должна иметь одноименный объект проекта, который описывает ее интерфейс со внешним миром. Позвольте нам теперь определять объект проекта для системы по имени Человек:

Рисунок:

2.3.2. Из чего состоит Интерфейс?

Ключевые вопросы:

Часть объекта обеспечивает спецификацию интерфейса системы и обычно включает в себя два элемента:

  • параметры системы ,как видно со стороны, примерно равны ширине шины процессора или максимальной частоте тактового генератора;
  • связи, которые передают информацию к системе и от нее (системные вводы и выводы).

    Примеры:

    : Каждый объект включает параметры системы и информационных каналов или связей, которые облегчают контакт со внешним миром.


    Позвольте нам определять те два элемента объект а по имени Человек:

    Рисунок:

    2.3.3. Элементы Объекта

    Ключевые вопросы:

    Два ключевых элемента любого интерфейса (параметры и связи) имеют их собственные, отдельные декларации в пределах каждого объекта

  • Все параметры объявлыны как общие и проходят к телу системы;
  • Связи, которые несут данные к системе и от нее, называются портами. Они формируют вторую часть объекта.

    Примеры:

    Параметры и информационные каналы или связи могут быть определены более формально, используя пункты общие (параметры) и порты (связей)

    Рисунок:

    2.4.1. Без Интерфейса нет Архитектуры

    Ключевые вопросы:

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

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

    Примеры:

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

    Рисунок:

    2.4.2. Типы Описания Архитектуры

    Ключевые вопросы:

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

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

    По характеру описание структуры системы иерархическое. Это осуществлено, определением объектов проекта (служащие компонентами) и их взаимосвязей

    Поведенческое описание, с другой стороны, не содержит никакой информации относительно внутренней структуры системы. Оно описывает только ожидаемое поведение системы.



    Инструменты синтеза работают с обоими описаниями системы: сначала, ожидаемые функциональные возможности должны быть определены и формализованы,аи затем они должны быть преобразованы в структурный эквивалент, который является более подходящим для инструментов синтеза. Часть этого перевода может быть сделана автоматически, однако, полностью функциональный (поведенческий) синтез еще не доступен..

    Примеры:

    Давайте посмотрим на триггеры D-типа. Его - поведение очень простое: после того, как преобразован вход CLK ,данные от D информационного входа передаются к Q выходу (и к инвертированым не_Q выходам)..

    Рисунок:

    2.4.3.Функциональное Описание

    Ключевые вопросы:

    Функциональное описание определяет то, что система, как ожидается, будет делать. В случае телевизора вы можете нуждаться в определении того,какие действия будут приняты в ответ на входные сигналы от кнопок дистанционного управления.

    И вообще, поведенческая спецификация – это описание выходов ’реакция на входные данные’

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

    Примеры:

    Мы можем определить электронное устройство, описывая его поведение, то есть внося в список функции, которые устройство, как предполагается, исполняет. Посмотрите ниже на D-триггер (мы пропускаем некоторые детали, но вернемся к ним позже):

    Рисунок:

    2.4.4.Структурное Описание

    Ключевые вопросы:

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

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



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

    Примеры:

    Структурное описание предоставляет информацию о элементах системы и их взаимосвязями. Приложенные иллюстрации символически показывают эти взаимосвязи.

    Рисунок:

    2.4.5. Один Объект - Сколько Архитектур?

    Ключевые вопросы:

    Так как различные типы архитектуры могут выполнять одинаковые функции, система (объект) может быть определена различным архитектурами. Например, множество 80xx51процессоров произведенных различными продавцами , пока они имеют тот же интерфейс , можгут использоваться друг в место друга. Это означает, что одному объекту может быть сопоставлено многократное число архитектур..

    Обратите внимание: перемена не истинна. Например 8051 не может непосредственно заменять устройство 68HC05 из-за различного интерфейса. Так как архитектура не может иметь различные интерфейсы, она не может быть сопоставлена различным объектам.

    Примеры:

    Вообще, каждая единица проекта имеет только один интерфейс. Однако,она может иметь несколько альтернативных спецификаций архитектуры. Например, мы можем определять более чем десять различных архитектур для древнего 7400 (с четырьмя двойными входами NAND ворот), указывая различные доступные технологии. В цифровых выходах всея работа такая же, но их внутренняя транзисторная структура различна,онакончается различными архитектурами на

    кремниевом уровне::

    Рисунок:

    2.5.1. Концепция Пакета

    Ключевые вопросы:

    Что вы делаете, когда стоите перед неизвестной концепцией или словом подобно " subclavian "? Наиболее вероятное- вы обратились бы за помощью, или к другому человеку, или посмотрели бы словарь.

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


    Используйте эти пакеты (внешние источники описания) когда что-нибудь неопределено в стандартном языке.

    Примеры:

    Обратите внимание, что пакет обеспечивает типичные или нетипичные способности, позволяя решать более сложные задачи. Аналогом является случай, когда кто-то болен или хочет улучшить свои физические способности, он / она может брать больничный или витамины. Те дополнительные "пакеты" служат для того, чтобы восстановить здоровье или улучшать его или ее состсяние:

    Рисунок:

    2.5.2 Использование Пакетов в VHDL

    Ключевые вопросы:

    Подобная ситуация , описанному на предыдущей странице происходит с VHDL спецификациями: вы можете иногда нуждаться в использовании чего-то,не определенного в стандартных VHDL библиотеках. Пакеты позволяют вам определять пункты, которые находятся вне VHDL стандартов.

    Пакеты определены в двух частях:

  • декларация пакета, которая определяет интерфейс пакета;
  • тело пакета, которое определяет тела подпрограмм и веса косвенных констант которые были объявлены в интерфейсе пакета.
  • Обратите внимание: Не все пакеты будут иметь тело пакета. В частности тело пакета не ненужно если нет подпрограмм или косвенных констант , определеных в декларации пакета.

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

    Примеры:

    Предоженный пример представляет общую структуру пакета и иллюстрирует его е(применение) в других единицах проекта (примим, что пакет сохранен в рабочей библиотеки работе, которая является истинной для типичных компиляций)::

    Рисунок:

    2.5.3. Предопределенные Пакеты

    Ключевые вопросы:

    VHDL - здравая окружающая среда проекта, которая имеет несколько хорошо определенных пакетов. Наиболее популярные пакеты, определенные IEEE:

  • STANDARD - содержит все основные декларации, и определения конструкций языка и включена во все VHDL спецификации;
  • TEXTIO - содержит декларации основных операций над текстом;
  • STD_LOGIC_1164 - этот пакет - не часть VHDL стандарта, а - его собственный стандарт; он содержит наиболее часто используемые расширения языка.
  • Кроме вышеупомянутых внесенных в список IEEE пакетов, каждый продавец VHDL-ИНСТРУМЕНТА добавляет (и поощряет использовать) его собственных пакетов.


    В таких случаях, библиотека обычно носит имя продавца.

    Примеры:

    Std_logic_1164 Пакет содержит определения типов, подтипов и функций, которые расширяют VHDL стандарт во много-значную логику. Пакет содержит следующие декларации: тип std_ulogic: нерешенный логический тип 9 значный:

  • тип std_ulogic: нерешенный логический тип 9 значный
  • тип std_ulogic_vector: вектор std_ulogic;
  • функция resolved решение std_ulogic_vector в std_ulogic;
  • подтип std_logic как решенная версии std_ulogic;
  • тип std_logic_vector: вектор std_logic;
  • подтипы X01, X01Z, UX01, UX01Z: подтипы решенного std_ulogic, содержащего значения, внесенные в спискахимен подтипов (то есть. UX01 содержит значения 'U', 'X', '0', и '1', и т.д.);
  • логические функции для std_logic, std_ulogic, std_logic_vector и std_ulogic_vector;
  • конверсионные функции между std_ulogic и частицей, std_ulogic и bit_vector, std_logic_vector и
  • bit_vector и наоборот;

  • функции rising_edge и falling_edge для обнаружения конца сигналов. .

    Рисунок:

    Резюме

    1. Каждая система должна связаться с ее окружающей средой (она должна получить некоторые данные входа от ее окружающей среды и выводить некоторые данные выхода)

    2. Часть коммуникаций спецификации системы называется интерфейсом. Интерфейс между системой и ее окружающей средой описан в VHDL объектом, который является основной единицей проекта для любой системы.

    3. Невозможно описать систему в VHDL без объекта.

    4. Объект определяет общие параметры и порты системы. Общие параметры предоставляют такую статическую информацию для системы как выбор времени ширины шины или параметров. Порты обеспечивают каналы связи между системой и ее окружающей средой. Для каждого порта должен быть определен его способ (то есть поток данных) и тип.

    5. Чтобы выполнять желательные функциональные возможности, данные должны подвергнуться некоторому преобразованию внутри системы. Это преобразование данных и вывод желательных функций обработано внутренней частью системы или телом, которое называется архитектурой



    6. Архитектура - описание внутреннего действия системы, и это должна быть поставлена в соответствие объекту.

    7. Архитектура может быть связана только с одним объектом, но объект может быть связан со множеством архитектур.

    8. Имеются два типа описания архитектуры:

  • Функциональное описание, которое определяет то, что система, как предпологается, будет делать. Вообще, поведенческая спецификация - описание выходных ’ ответов на входные’ изменения;
  • Структурное описание, которое определяет то, какие компоненты должны быть использованы и как они должны быть связаны, чтобы достичь ожидаемых результатов. Другими словами, оно описывает внутреннюю структуру системы.
  • 9. Если Вы нуждаетесь в чем-то, что не определено в стандарте библиотеки VHDL, используйте пакеты, которые поддерживаются VHDL элементами (внешние источники описания). Пакет - единица, которая группирует различные декларации, которые могут быть разделены между несколькими проектами. Пакеты сохранены в библиотеках для большего удобства.

    10. Пакеты определены в двух частях: декларация пакета, которая определяет интерфейс к пакету и телу пакета которое определяет тело подпрограмм и значцений косвенных констант, объявленных в интерфейсе пакета.

    11. Не все пакеты будут иметь тело пакета. В частности тело пакета не нужно если нет подпрограммы или косвенных констант , определеных в декларации пакета.

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

    13. Пункты, объявленные в теле пакета не могут быть видимыми внешней части тела пакета

    Далее>>

    Содержание раздела