47601 (572042), страница 5

Файл №572042 47601 (Микропрограммирование операций ЭВМ) 5 страница47601 (572042) страница 52016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

т акты

Время

Рис. 5. Возможности VHDL в области отображений характеристик (аспектов) аппаратуры

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

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

В языке VHDL в качестве конструкций выступают объекты, проекты, иерархии, архитектурные тела, пакеты, тела пакетов и др.

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

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

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

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

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

Интерфейс описывается в объявлении объекта проекта и определяет только входы и выходы объекта проекта.

Для описания поведения объекта или его структуры служит архитектурное тело.

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

В языке VHDL предусмотрен механизм пакетов для часто используемых описаний, констант, типов, сигналов. Эти описания помещаются в объявлении пакета.

Если пользователь использует нестандартные операции или функции, их интерфейсы описываются в объявлении пакета, а тела содержатся в теле пакета.

Таким образом, при описании цифровых схем на языке VHDL возможно использование пяти различных типов описаний:

1) объявление объекта проекта,

2) объявление архитектурного тела,

3) объявление конфигурации,

4) объявление пакета и

5) объявление тела пакета.

Каждое из описаний является самостоятельной конструкцией языка VHDL, любая конструкция может быть независимо проанализирована анализатором и поэтому получило название “модуль проекта”.

Модули проекта, в свою очередь, можно разбить на две категории:

1) первичные модули и

2) вторичные модули.

К первичным модулям относятся различного типа объявления, к вторичным - отдельно анализируемые тела первичных модулей.

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

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

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

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

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

Значения всех объектов в создаваемой модели, взятые все вместе, отражают текущее состояние моделирования. Описание на языке VHDL содержит объявления, которые создают объекты данных четырёх классов: константы, переменные, сигналы и файлы.

Константы и переменные содержат одно значение данного типа. Значения переменных могут быть изменены назначением нового значения в предложении назначения переменной.

Значение константы устанавливается до начала моделирования и не может после этого изменяться.

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

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

Имеются операции двух видов. Некоторые операции являются предопределёнными, к ним , например, относятся операторы “+”, “-“ для значений типа integer.

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

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

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

Когда имя объекта используется в выражении, при расчёте значения выражения учитывается его текущее значение.

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

Преобразователь кода представляет собой устройство, на вход которого подается n-битное число в параллельном коде “d”, сигнал загрузки “load” и синхроимпульсы “clk”. По сигналу загрузки происходит запись входного слова во внутренний регистр и последовательная выдача в течении n тактов этого входного слова в последовательном коде на выходе “о” синхроимпульсами “oclk”.

После окончания преобразования на выходе “e” появляется высокий уровень сигнала в течение одного такта.

Известно большое число отечественных и зарубежных языков описания цифровой аппаратуры: МОДИС. МОДИС-В78, Автокод-М, МРL, ОСС-2, Форос, Алгоритм, СDL, DDL, VЕRILОG, ISPS, CONLAN, HILО, АВЕL, AHDL, РП8 и др.

В настоящее время только два языка удовлетворяют требованиям для цифрового логического проектирования: VHDL и VerilogНDL.

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

Если посмотреть на язык VHDL глазами программиста, то можно сказать, что он состоит как бы из двух компонент - общеалгоритмической и проблемно-ориентированной (рис.6).

ЯзыкVHDL


Общеалгоритмическая

компонента

Проблемно-

ориентированная компонента


Скалярные данные типа:

целый, вещес-твенный, битовый и

другие

агрегаты:

массивы,

структуры, файлы

Операторы:

присваива-ния,

условный, цикла,

выбора и

другие

Данные вида сигнал,

данные

физического

типа, атрибуты

сигналов

Параллельные операторы:

назначения,

сигнала процесса, конкретизации компоненты и другие



Процедуры, блоки, пакеты

Описание интерфейса,

описания архитектуры,

описания конфигурации


Рис.6. Две компоненты языка VHDL

Общеалгоритмическая компонента языка VHDL - это язык, близкий по синтаксису и семантике к современным языкам программирования типа Паскаль, Си, МОДУЛА-2, АДА.

Язык VHDL относится к классу строго типизированных, что означает, например, переменной типа целый (integег) нельзя присвоить значение вещественной (геа1) переменной:

variable Х integег; Y variable геа1;

Х : = Y; - ошибочная запись.

Помимо встроенных (пакет STANDARD) простых (скалярных) типов данных: целый (integег), вещественный (геа1), булевский (bоо1еаn), битовый (bit), данных физического типа - время (time), данных типа ссылка (указатель), пользователь может вводить и использовать свои типы данных (перечислимые, физические, целые и плавающие).

Например:

type temp is range 0 to 42;— объявлен диапазонный целый тип temp;

type let is (‘i’, ‘j’, ‘k’); - перечислимый тип lеt; принимающий три значения;

variable Z, Х: temр; variable Y: let:

Х : = 10; — присваивание верно;

Х: = 1000; — неверно, выход из допустимого для Х диапазона;

Y : = 'i'; - - верно;

Y:='0'; неверно.

Помимо скалярных типов данных можно объявлять и использовать агрегаты - составные типы данных: массивы (аггау), в том числе битовые векторы (bit vector) и символьные строки (string), а также записи (гесогd) и файлы (file).

Например:

tуре МЕМОRY is аггау (0 to 1000) оf bit; - массив из 1001 бита;

variable М: МЕМОRY;

М(i.):=М(j+1); - присваивание в элемент массива.

В языке VHDL имеются три класса объектов: константы, переменные и сигналы.

1.4.2.1. Константы

Константа - это объект, значение которого неизменно.

Примеры описаний констант:

соnstant Рi: геаl: = 3.14; - вещественная константа Pi;

соnstant D1: let: = 'k';

соnstant ALL1: bit vector (0 to 2): = '111'.

1.4.2.2. Переменные

Значения переменных могут изменяться. При описании переменных можно указать их начальное значение:

variable Х: integer:=0;

variable Y: геаl;

variable Z: let;

X:= 10; -oператор присваивания переменной Х значения 10.

1.4.2.3. Сигналы

Сигналы - это объекты, которые имеют временные параметры и могут изменяться:

signа1 ВВ1: integer;

signа1 СС1:1et; - оператор назначения сигналу с задержкой

ВВ1 <= 10 аftег 20 ns; - СС1 <= 'i’ аfteг 5 ns;.

1.4.2.4. Операторы

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

Их состав включает:

оператор ожидания wait;

оператор присваивания переменной (: =);

последовательный оператор утверждения (аssert);

условный оператор (if);

оператор выбора (саsе);

оператор цикла (1оор):

пустой оператор (null);

оператор возврата из процедуры-функции (геturn);

оператор выхода (ехit);

оператор перехода (nехt).

Язык поддерживает концепции модульного и структурного программирования.

Сложные операторы заключены в операторные скобки: if-end if; ргоcеss - end ргосеss; саsе - еnd саsе, 1оор - еnd 1оор и т. д. Поэтому отпадает необходимость в специальных операторных скобках для отображения составных операторов и, например, запись

if Х>Y thеn А : = В, С : == D; еnd if;

означает совместное выполнение двух присваивании при истинности условия Х>Y.

1.4.2.5. Пакеты

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

По умолчанию предусмотрено подключение стандартного пакета

SТАNDАRD. Этот пакет, в частности, содержит, как уже отмечалось, описание стандартных типов данных – integer, геа1, bоо1еаn, bit и др.

Пакет ТЕХТIO содержит стандартные операторы ввода-вывода. Нестандартные пакеты реализуются пользователями, желающими более точно отобразить свойства описываемых ими объектов. Например, можно в пользовательском пакете переопределить стандартные логические операции И (аnd), ИЛИ (ог) и НЕ (nоt) и перейти от булевского (0,1) к многозначному (1, О, X, ,Z) алфавиту моделирования.

Пример пользовательского пакета:

расkаgе РА is - интерфейс пакета РА.;

Характеристики

Тип файла
Документ
Размер
691,82 Kb
Учебное заведение
Неизвестно

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6508
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее