Главная » Просмотр файлов » Проектирование цифровых устройств с использованием ПЛИС

Проектирование цифровых устройств с использованием ПЛИС (1055366), страница 4

Файл №1055366 Проектирование цифровых устройств с использованием ПЛИС (Проектирование цифровых устройств с использованием ПЛИС) 4 страницаПроектирование цифровых устройств с использованием ПЛИС (1055366) страница 42017-12-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

При объявлении может быть указановыражение, определяющее значение константы:<КОНСТАНТА> ::=CONSTANT <СПИСОК ИДЕНТИФИКАТОРОВ> : <ТИП> [ := <ВЫРАЖЕНИЕ> ]Пример декларации константы типа TIME:CONSTANT A: TIME := 30ns;22СигналыСигналы — это объекты, обладающие историей изменения(прошлым и текущим состояниями). В процессе моделированиявозникают события, которые являются причинами возникновенияновых событий.

При возникновении события, приводящего к изменению сигнала, это изменение происходит не мгновенно, а черезнекоторое оговоренное время (большее или равное дельтазадержке). Это свойство сигнала позволяет учесть при моделировании причинно-следственные связи между воздействием и откликом.Объявление сигнала:<СИГНАЛ> ::=SIGNAL <СПИСОК ИДЕНТИФИКАТОРОВ> : <ТИП> [ <ВИД> ][ := <ВЫРАЖЕНИЕ> ] ;<ВИД СИГНАЛА> ::= REGISTER | BUSДля каждого сигнала предопределены следующие атрибуты,поддерживаемые программами синтеза (на примере сигнала s):• s’stable[(T)] — атрибут равен значению true, если за время Tсигнал не изменял своего состояния;• s’transaction — атрибут типа bit, изменяющий состояние напротивоположное при каждом присваивании нового значения сигналу s;• s’event — атрибут, равный true, если в данном цикле моделирования произошло изменение сигнала s;• s’active — атрибут, равный значению true, если в данномцикле моделирования произошло присваивание нового значениясигналу s;• s’last_value — атрибут, равный сигналу s, до момента его последнего изменения.Пример декларации и инициализации сигнала:SIGNAL B: BIT_VECTOR(3 DOWNTO 0):=”0000”;Пример присвоения значения сигналу:B<=”0001”;Пример использования атрибутов сигнала:23IF CLK’event AND CLK=’1’ THENB<=D; --Изменить значение по фронту синхросигналаEND IF;ПеременныеЗначения переменных также могут изменяться в процессе работы устройства.

Однако при моделировании изменения значенийпеременных происходят «мгновенно» и в том порядке, в которомприсвоения встречаются в коде.Объявление переменной:<ПЕРЕМЕННАЯ> ::=[ SHARED ] VARIABLE <СПИСОК ИДЕНТИФИКАТОРОВ> : <ТИП> [ :=<ВЫРАЖЕНИЕ> ] ;Опция SHARED используется при объявлении переменных винтерфейсах и архитектурах устройств, интерфейсах и телах пакетов, а также в блоках.Пример декларации переменной:VARIABLE C: INTEGER := 100;Пример присвоения значения переменной:B:=200;ФайлыФайл — это объект, позволяющий в процессе моделированияпроизводить операции чтения и записи физического файла.

Данный объект относится к несинтезируемому подмножеству языкаVHDL.Сигналы типа STD_LOGIC и STD_LOGIC_VECTORНаиболее широко на практике применяются типы STD_LOGICи STD_LOGIC_VECTOR, описанные в библиотеке STD_LOGIC_1164. Для данных типов в библиотеке реализованы многочисленные функции преобразования, арифметические и логическиефункции, а также функции разрешения. Функцией разрешения на24зывается функция, по которой определяется результирующее значение сигнала, управляемого несколькими источниками. Присхемной реализации программа синтеза по указанию разработчикаустановит для таких сигналов дополнительный элемент, позволяющий реализовать эквивалентную функцию (например, дизъюнктор). Сигнал типа STD_LOGIC принимает одно из девяти значений:• 'U' — не инициализировано;• 'X' — неизвестное (сильное значение);• '0' — логический нуль (сильное значение);• '1' — логическая единица (сильное значение);• 'Z' — третье состояние;• 'W' — неизвестное (слабое значение);• 'L' — логический нуль (слабое значение);• 'H' — логическая единица (слабое значение);• '-' — неопределенное значение.Слабые сигналы имеют меньший приоритет по сравнению ссильными.

Значения 'U', 'X', 'W', '-' служат для моделирования некорректных состояний устройств.Библиотека STD_LOGIC_1164 поддерживается современнымипрограммами синтеза.Примеры использования сигналов STD_LOGIC и STD_LOGIC_VECTOR:CLK :IN std_logic;RST :IN std_logic;CH_CODE :INOUT std_logic;DATA_BUS :INOUT std_logic_vector(w-1 DOWNTO 0);Операции языка VHDLНад объектами стандартных типов, как над переменными вязыках программирования, можно выполнять арифметические илогические операции, объединяя их в выражения. Операции языкаVHDL для типов BIT и BOOLEAN перечислены в табл.

2 в порядке возрастания их приоритета.Примеры выполнения операций над объектами:25result <= a + b;--сумматор (поведенческий вариант)sum <= (a XOR b) XOR cin;--сумматор (структурный вариант)cout <= (a AND b) OR (a AND cin) OR (b AND cin);equal <= '1' WHEN a = b ELSE '0'; --компараторoutp <= "00000001" SLL conv_integer(inp); --дешифраторТаблица 2Операции языка VHDLТипоперацийЛогическиеСравненияСдвигаЗнакаи сложенияУмноженияСмешанные126ОбозначениеАNDORNANDNORXORXNOR=/=<><=>=SLLSRLSLASRAROLROR+–&*/MODREMABSNOT**КомментарийЛогическое ИЛогическое ИЛИЛогическое И-НЕЛогическое ИЛИ-НЕИсключающее ИЛИЭквивалентностьРавенствоНеравенствоМеньшеБольшеМеньше или равноБольше или равноСдвиг влево логическийСдвиг вправо логическийСдвиг влево арифметическийСдвиг вправо арифметическийСдвиг влево циклическийСдвиг вправо циклическийСложение (знак плюс)Вычитание (знак минус)КонкатенацияУмножениеДеление1Модуль1Остаток1Абсолютное значениеОтрицаниеСтепеньОперации синтезируются ограниченно.2.3.

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

Устройства могут быть организованы по иерархическому принципу, т. е. могут состоять из других устройств.Связность частей устройства задается с помощью сигналов.Упрощенный синтаксис конструкции ENTITY:<ИНТЕРФЕЙС> ::=ENTITY <ИДЕНТИФИКАТОР> IS[GENERICS <СПИСОК НАСТРОЕЧНЫХ КОНСТАНТ>][PORT <СПИСОК ПОРТОВ>]<ДЕКЛАРАТИВНАЯ ЧАСТЬ>[ BEGIN<ПАССИВНЫЕ КОНСТРУКЦИИ ЯЗЫКА> ]END [ ENTITY ] [ <ИДЕНТИФИКАТОР>] ;В конструкции ENTITY предусмотрена возможность задаватьсписок настроечных параметров с помощью ключевого словаGENERIC.

Это позволяет описать универсальное устройство, некоторые числовые параметры которого (например, ширина шиныданных и адреса) будут определены при его включении в проект.Декларация портов PORT позволяет описать входные объекты (IN)только для чтения, выходные объекты (OUT) — только для изменения, двунаправленные объекты (INOUT) — для чтения и изменения, двунаправленные объекты (BUFFER) — для чтения и изменения только одним источником. Объект в режиме LINKAGEможет читаться или изменяться только подстановкой в качествефактического параметра для другого объекта в режиме LINKAGE.Упрощенный синтаксис декларации PORT:<ОПИСАНИЕ ПОРТОВ>::=PORT(<ОПИСАНИЕ ПОРТА> {;<ОПИСАНИЕ ПОРТА>});<ОПИСАНИЕ ПОРТА>::= <СПИСОК ИДЕНТИФИКАТОРОВ> :<РЕЖИМ> <ТИП><РЕЖИМ> ::= BUFFER|IN|OUT|INOUT|LINKAGE27Пример конструкции ENTITY:ENTITY Decoder ISPORT ( inp: IN std_logic_vector(2 DOWNTO 0);outp: OUT std_logic_vector(7 DOWNTO 0));END Decoder;В декларативной части ENTITY описываются объекты, типы,подпрограммы и прочие элементы, которые будут использованыпри описании устройства.

Пассивные конструкции языка не синтезируются. Они позволяют выполнять различные проверки в процессе моделирования.Структура или поведение устройств описываются с помощьюконструкции ARCHITECTURE.Упрощенный синтаксис ARCHITECTURE:<Архитектура> ::=ARCHITECTURE <Идентификатор> OF <Интерфейс> IS<Декларативная часть>BEGIN<Параллельные операторы>END [ ARCHITECTURE ] [<Идентификатор>] ;В декларативной части ARCHITECTURE описываются объекты, типы, подпрограммы и прочие элементы, которые будут использованы при описании устройства. После ключевого словаBEGIN с помощью параллельных операторов описываются параллельно работающие части устройства.Пример описания устройства:-- Комментарий: Интерфейс полного сумматораENTITY Full_Adder ISPORT (X, Y, Cin:IN Bit;Cout, Sum:OUT Bit);END Full_Adder ;-- Комментарий: Архитектура 1 полного сумматора (потоковый стиль)ARCHITECTURE DataFlow1 OF Full_Adder ISSIGNAL A,B: Bit;BEGINA <= X XOR Y;B <= A AND Cin;Sum <= A XOR Cin;28Cout <= B OR (X AND Y);END ARCHITECTURE DataFlow1 ;-- Комментарий: Архитектура 2 полного сумматора (потоковый стиль)ARCHITECTURE DataFlow2 OF Full_Adder ISBEGINSum <= (X XOR Y) XOR Cin;Cout <= (X AND Y) or (X AND Cin) OR (Y AND Cin);END DataFlow2;2.4.

Пакеты и библиотекиДля описания простого устройства достаточно в единственномфайле проекта описать хотя бы один интерфейс и его архитектуру.При проектировании же сложных устройств, которые предполагается использовать многократно, целесообразно компоновать описания в пакеты (PAKAGE). Декларация пакета состоит из описания интерфейса и описания тела:<ИНТЕРФЕЙС ПАКЕТА> ::=PACKAGE <ИМЯ> IS<ДЕКЛАРАТИВНАЯ ЧАСТЬ>END [ PACKAGE ] [ <ИМЯ> ] ;<ТЕЛО ПАКЕТА> ::=PACKAGE BODY <ИМЯ> IS<ДЕКЛАРАТИВНАЯ ЧАСТЬ>END [ PACKAGE ] [ <ИМЯ> ] ;В декларативной части интерфейса могут быть объявленыподпрограммы, типы, подтипы, объекты всех видов, атрибуты,компоненты и т.

д. В теле пакета приводятся реализации процедури указываются значения констант, декларированных в интерфейсной части:PACKAGE TriState ISTYPE Tri IS ('0', '1', 'Z', 'E');FUNCTION BitVal (Value: Tri) RETURN Bit;FUNCTION TriVal (Value: Bit) RETURN Tri;TYPE TriVector IS ARRAY (Natural RANGE <>) OF Tri;FUNCTION Resolve (Sources: TriVector) RETURN Tri;END PACKAGE TriState;PACKAGE BODY TriState IS29FUNCTION BitVal (Value: Tri) RETURN Bit ISCONSTANT Bits : Bit_Vector := "0100";BEGINRETURN Bits(Tri'Pos(Value));END;FUNCTION TriVal (Value: Bit) RETURN Tri ISBEGINRETURN Tri'Val(Bit'Pos(Value));END;FUNCTION Resolve (Sources: TriVector) RETURN Tri ISVARIABLE V: Tri := 'Z';BEGINFOR i IN Sources'Range LOOPIF Sources(i) /= 'Z' THENIF V = 'Z' THENV := Sources(i);ELSERETURN 'E';END IF;END IF;END LOOP;RETURN V;END;END PACKAGE BODY TriState ;Пакеты, в свою очередь, объединяются в библиотеки (LIBRARY). Для подключения библиотеки необходимо использоватьоператор подключения библиотеки и использования пакета:<ПОДКЛЮЧЕНИЕ БИБЛИОТЕКИ> ::=LIBRARY <ИМЯ БИБЛИОТЕКИ> { , <ИМЯ БИБЛИОТЕКИ> };<ИСПОЛЬЗОВАНИЕ ПАКЕТА>::=<ИМЯ БИБЛИОТЕКИ>.<ИМЯ ПАКЕТА>.<СИМВОЛЬНОЕ ИМЯ> |<ИДЕНТИФИКАТОР> | ALL;Пример использования библиотеки и пакета:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;302.5.

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

Тип файла
PDF-файл
Размер
22,67 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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