МЕТОДЫ ОПИСАНИЯ ПОВЕДЕНИЯ ЦИФРОВЫХ СХЕМ
VHDL поддерживает широкий набор задач, возникающих при проектировании. Он обеспечивает возможность описания устройств с различной степенью детализации и в различных формах, начиная от внешнего описания общих принципов функционирования до предоставления в форме элементарных цифровых компонентов (вентилей и триггеров). Разрешается представление через алгоритм функционирования в форме, близкой к традиционным алгоритмическим языкам. В тоже время присутствуют средства, описывающие проект как набор компонентов и связей между ними, допустимы и смешанные формы описаний. Поэтому обеспечивается возможность организации проектной процедуры как последовательной декомпозиции абстрактных спецификаций. Значительное место в языке отведено средствам моделирования, позволяющим быстро обнаруживать ошибки и сравнивать альтернативные варианты до сравнительно дорогостоящей фактической реализации проекта. Все это уменьшает объем рутинной работы, "позволяя разработчику концентрироваться на стратегических решениях и сократить время доставки изделия на рынок".
Стили программирования: 1. Последовательный стиль описания (расположение и порядок исполнения операторов в тексте описания соответствует порядку прохождения данных через информационный граф. Любой оператор записывается в тексте после всех операторов с которыми он имеет связи по входу), 2. Параллельный стиль (предполагает асинхронное и, по возможности, одновременное исполнение операторов в реализуемом устройстве), 3. Потоковый стиль (отличается от предыдущего тем, что оператор исполняется после готовности всех предшественников данного оператора).
|
|
Языки бывают: VHDL, Verilog, AHDL, C – подобные языки.
Существует несколько разновидностей языка VHDL: AHDL, VHDL, VerilogHDL, Abel и др. Известны случаи использования стандартных языков программирования, например С, для описания структуры БИС.
Особенности языка VHDL :
Проектируемое устройство можно разбивать на иерархичные элементы
Каждый элемент имеет ясно описанный интерфейс и точное функциональное описание для его моделирования
Можно моделировать параллелизм, временные соотношения, синхронизация тактовыми сигналами
Можно описывать синхронные и асинхронные процессы последовательной структуры
Можно моделировать выполняемые устройством в целом логические действия и его последовательные структуры.
ЯЗЫК ОПИСАНИЯ СХЕМ VHDL , ОПИСАНЫЕ ПОНЯТИЯ
Язык VHDL был разработан в США в начале 80-х годов как язык спецификации проектов с целью обеспечения единообразного понимания подсистем различными проектными группами. В настоящее время трудно найти САР, которая не воспринимает описания устройств на VHDL. VHDL поддерживает широкий набор задач, возникающих при проектировании.
|
|
С точки зрения программиста язык VHDL состоит из двух компонент - общеалгоритмической и проблемно-ориентированной.
- общеалгоритмический компонент, определяющий набор типов данных и операторов, обеспечивающих общее описание алгоритма функционирования;
- проблемно-ориентированный компонент, включающий такие специфические и важные для описания аппаратных средств разделы, как специфические для аппаратуры типы данных, средства для описания процессов с учетом их протекания в реальном времени, средства для структурного представления проекта.
Общеалгоритмический компонент по составу, смыслу и принципам использования ее составляющих мало отличается от состава традиционных языков программирования, да и форма записи (синтаксис и семантика языковых конструкций) весьма близка к традиционным языкам.
При описании синтаксиса языка VHDL используются следующие правила:
- ( ) заключают в себе последовательность элементов, любой из которых может присутствовать в определении.
- | отделяет отдельные элементы списка, любой из которых может присутствовать в конкретном определении
|
|
- {} заключают в себе последовательность элементов, которые не обязательно должны присутствовать
- жирным шрифтом выделяются зарезервированные слова
В языке VHDL присутствуют следующие лексические элементы:
- комментарии. Часть строки после двух знаков «--«
- идентификаторы (могут содержать символы алфавита от А до Z и от а до z, цифры, символы подчеркивания)
- расширенные идентификаторы (могут включать в себя любую последовательность символов, заключенную в / /).
- числа (могут использоваться целые и действительные числа)
- строки (содержимое строки заключается в двойные кавычки)
Общеалгоритмическая компонента VHDL – это язык, близкий по синтаксису и семантике к современным языкам программирования типа Паскаль, C и др. Язык относится к классу строго типизированных. Помимо встроенных (пакет STANDART) простых (скалярных) типов данных: целый, вещественный, булевский, битовый, данных типа время, данных типа ссылка (указатель) пользователь может вводить свои типы данных (перечислимый, диапазонный и др.).
Помимо скалярных данных можно использовать агрегаты: массивы array, в том числе и битовые векторы bit_vector, и символьные строки string, записи record, файлы file.
|
|
Последовательно выполняемые (последовательные) операторы VHDL могут использоваться в описании процессов, процедур и функций. Их состав включает: оператор присваивания переменной (:=); последовательный оператор назначения сигналу (<=); последовательный оператор утверждения (assert); условный (if); выбора (case); цикла (loop); пустой оператор (null); оператор возврата процедуры-функции (return); оператор последовательного вызова процедуры.
Язык поддерживает концепции пакетного и структурного программирования. Сложные операторы заключены в операторные скобки: if-end if; process-end process; case-end case; loop-end loop и т. д.
Различаются локальные и глобальные переменные. Область “видимости” локальных переменных ограничена пределами блока (процессного, процедурного, оператора блока, оператора описания архитектуры).
Фрагменты описаний, которые могут независимо анализироваться компилятором и при отсутствии ошибок помещаться в библиотеку проекта (рабочую библиотеку Work),называются проектными пакетами design unit. Такими пакетами могут быть объявление интерфейса объекта проекта entity, объявление архитектуры architecture, объявление конфигурации configuration, объявление интерфейса пакета package и объявление тела пакета package body.
Модули проекта, в свою очередь, можно разбить на две категории: первичные и вторичные. К первичным пакетам относятся объявления пакета, объекта проекта, конфигурации. К вторичным– объявление архитектуры, тела пакета. Один или несколько модулей проекта могут быть помещены в один файл, называемый файлом проекта (design file).
Каждый проанализированный модуль проекта помещается в библиотеку проекта (design library) и становится библиотечным модулем (library unit).
Каждая библиотека проекта в языке VHDL имеет логическое имя (идентификатор).
По отношению к сеансу работы с VHDL-системой существует два класса рабочих библиотек проекта: рабочие библиотеки и библиотеки ресурсов.
Рабочая библиотека– это библиотека WORK, с которой в данном сеансе работает пользователь и в которую помещается пакет, полученный в результате анализа пакета проекта.
Библиотека ресурсов – это библиотека, содержащая библиотечные модули, ссылка на которые имеется в анализируемом модуле проекта.
В каждый конкретный момент времени пользователь работает с одной рабочей библиотекой и произвольным количеством библиотек ресурсов.
Модули, как и в обычных алгоритмических языках, – это средство выделения из ряда программ и подпрограмм общих типов данных, переменных, процедур и функций, позволяющее упростить, в частности, процесс их замены.
Так же, как в описаниях проектируемых систем разделяются описания интерфейсов и тел, в VHDL у пакета разделяются описание интерфейса и тела пакета. По умолчанию предусмотрено подключение стандартных пакетов STANDART и TEXT 10. Пакет STANDART, в частности, содержит описание булевских операций над битовыми данными и битовыми векторами. Нестандартные пакеты реализуются пользователями, желающими более точно отобразить свойства описываемых ими объектов. Например, можно в пользовательском пакете переопределить логические операции И, ИЛИ и НЕ и перейти от булевского (0, 1) к многозначному (1, 0, X, Z) алфавиту моделирования.
Проблемно-ориентированная компонента позволяет описывать цифровые системы в привычных, разработчику понятиях и терминах. Сюда можно отнести:
· понятие модельного времени now.
· данные типа time, позволяющие указывать время задержки в физических единицах
· данные вида сигнал signal, значение которых изменяется не мгновенно, как у обычных переменных, а с указанной задержкой, а также специальные операции и функции над ними
Дата добавления: 2020-04-08; просмотров: 211; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!