Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

fb_210700_ddm1_lbm2

.pdf
Скачиваний:
8
Добавлен:
11.03.2016
Размер:
323.65 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. Р.Е.Алексеева

Кафедра информационных радиосистем

ПРОЕКТИРОВАНИЕ АВТОМАТОВ С ПАМЯТЬЮ ПРИ ИСПОЛЬЗОВАНИИ ЯЗЫКА VHDL И ТЕКСТОВОГО РЕДАКТОРА

САПР QUARTUS II

Методические указания к лабораторной работе № 2 по дисциплине

"Вычислительная техника и информационные технологии" для студентов направления подготовки

210700 Инфокоммуникационные технологии и системы связи (профиль подготовки "Сети связи и системы коммутации")

очной формы обучения

Нижний Новгород 2013

Составители: А.Д.Плужников, Н.Н.Потапов

УДК 621.374 (075.8)

Проектирование автоматов с памятью при использовании языка VHDL и

текстового редактора САПР Quartus II: метод. указания к лабораторной ра- боте № 2 по дисциплине "Вычислительная техника и информационные техно- логии" для студентов направления подготовки 210700 Инфокоммуникационные технологии и системы связи (профиль подготовки "Сети связи и системы ком- мутации") очной формы обучения / НГТУ; Сост.: А.Д.Плужников, Н.Н.Потапов. Н.Новгород, 2013. 34 с.

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

Научный редактор А.Г.Рындык

Редактор О.В.Пугина

Печ. л. 2,0. Уч.-изд. л. 1,8.

Нижегородский государственный технический университет им. Р.Е.Алексеева. Типография НГТУ. 603950, Н.Новгород, ул. Минина, 24.

1. Цель работы и подготовка к работе

Целью работы является приобретение начальных сведений об автоматах с памятью, а также изучение некоторых возможностей проектирования цифро- вых узлов при использовании языка VHDL совместно с системой автоматизи- рованного проектирования (САПР) Quartus II, ориентированной на примене- ние программируемых логических интегральных схем (ПЛИС).

Подготовка к работе осуществляется до прихода в лабораторию и включа- ет в себя изучение данных методических указаний и (если студенту этого не достаточно для прояснения изучаемого материала) рекомендованной в них ли- тературы, подготовку ответов на приводимые вопросы для самопроверки, со- ставление VHDL-описаний проектируемого устройства (см. 7.2.1, 7.2.2) и про- работку контрольного примера для нее (см. 7.3.4) в соответствии со своим ва- риантом задания (см. 7.1).

2. Понятие об автоматах с памятью

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

даче этих входных сигналов и определяется ранее действовавшими на автомат входными сигналами (предысторией). Характерным признаком структуры АП является наличие внутренних обратных связей, т. е. замкнутых петель прохож- дения сигналов. К автоматам с памятью (последовательностным цепям или схемам) относят, в частности, такие цифровые узлы как триггеры, регистры, счетчики.

3. Триггеры цифровых устройств

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

3.1. Асинхронный T-триггер с прямым динамическим управлением

Условное обозначение данного триггера показано на рис. 1. Здесь Q и Q

выходы триггера: Q так называемый прямой выход, а Q инверсный. Дво- ичные значения (0 или 1) сигналов на этих выходах противоположны в любом

3

 

 

 

 

 

 

 

состоянии триггера. Состоянием триггера называют дво-

 

 

T

 

 

 

 

Q ичное значение сигнала Q . Например, при Q =1 говорят,

 

 

 

 

 

 

 

 

 

 

 

что триггер находится в состоянии 1. При этом

 

= 0. При

 

T

 

Q

 

 

 

 

 

 

 

 

 

Q = 0 (

 

=

 

=1) триггер в состоянии 0. T вход триггера.

 

 

 

Q

0

 

 

 

 

 

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

Каждый входной импульс (его действие на вход T или

 

Рис. 1

 

 

 

 

иной вход рассматриваемых ниже триггеров соответствует

 

 

 

 

 

 

 

логической единице) вызывает изменение состояния триг-

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

ние состояния триггера при формировании фронта или среза импульса является признаком соответственно прямого или инверсного динамического управления. Очевидно, что T -триггер можно использовать как делитель частоты импульсов на два.

 

 

Приведенное в текстовой форме поведенческое описание рассматриваемо-

 

 

T

 

 

 

го триггера позволяет представить такое описа-

 

 

0

1

 

 

ние в форме диаграммы состояний так, как это

 

T

 

T

показано на рис. 2. Здесь 0 и 1 – символы состоя-

T

ний триггера. Стрелками показаны возможные

переходы из состояния в состояние. Рядом с каж-

Рис. 2

дой стрелкой в общем случае записывается усло-

 

вие перехода в форме некоторого выражения. Определенный переход осущест- вляется при том условии, когда соответствующее выражение принимает значе- ние логической единицы. Для рассматриваемого частного случая триггера с прямым динамическим управлением по входу T на диаграмме состояний (рис. 2) T = 1 соответствует формированию фронта входного импульса, т. е. перепада от уровня логического нуля к уровню логической единицы. Заметим, что диа- грамма состояний для асинхронного T -триггера с инверсным динамическим

управлением может быть получена из диаграммы (рис. 2) путем замены T на T

и T на T (при этом T = 1 соответствует формированию среза входного импуль- са).

 

Таблица 1

Поведенческое описание рассматриваемого триг-

 

гера может быть представлено и таблицей истинности

T

Q

Q

табл. 1, которая составлена в соответствии с приве-

0

0

0

денными выше текстовой формой описания и диа-

0

1

1

граммой состояний (рис. 2). Данная таблица описыва-

 

 

 

ет функцию Q от двух аргументов: T и Q′ . Причем,

1

0

1

 

 

 

как и в диаграмме состояний (рис. 2), T = 1 соответст-

1

1

0

вует формированию фронта входного импульса, а Qсовпадает со значением выходного сигнала Q в исходном состоянии триггера.

По табл. 1 можно составить совершенную дизъюнктивную нормальную форму поведенческого (аналитического) описания триггера:Q = T QT Q.

4

Отраженная таблицей истинности и аналитическим описанием зависи- мость выходного сигнала от его значения в исходном состоянии является об- щим свойством всех АП и реализуется обратными связями в их структурах [1].

3.2. Синхронный T-триггер с прямым динамическим управлением

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

 

T

 

T

 

 

Q

вия синхроимпульса (синхронизирующего, тактирующего

 

 

 

 

 

или тактового импульса) на синхронизирующий вход. Ди-

 

 

 

 

 

 

C

 

 

 

 

 

 

намическое управление в синхронных триггерах осущест-

 

 

 

 

Q

 

 

 

 

вляется именно по синхронизирующему входу. В частно-

 

 

 

 

 

 

 

 

 

 

 

 

сти, триггер (рис. 3) функционирует следующим образом.

 

 

Рис. 3

 

 

 

 

 

 

 

 

 

 

 

 

Фронт каждого синхроимпульса вызывает опрокидывание

триггера при условии действия логической единицы на вход T во время фор- мирования этого фронта. Если же это условие не выполняется, то синхроим- пульсы не влияют на состояние триггера. Для данного триггера рис. 4 показы- вает диаграмму состояний, табл. 2 является таблицей истинности, а поведенче-

ское описание в аналитической форме имеет следующий вид:

 

 

 

 

 

Q =

 

 

 

Q

 

C QT

 

QT C

 

 

 

 

 

 

 

 

 

T

C

T

C

Q′.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

С

Q

Q

 

 

 

 

 

TC

 

 

 

 

 

 

 

0

 

0

0

0

 

 

 

 

0

 

 

 

 

 

 

 

 

0

 

0

1

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

0

0

T

C

 

T

C

 

 

 

 

 

TC

 

 

 

 

 

 

 

0

 

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

0

0

 

 

 

 

 

Рис. 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

1

0

Причем везде C = 1 соответствует формированию фронта синхроимпульса.

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

5

T

 

C

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

Q

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

Рис. 5

 

 

 

 

 

 

 

 

 

3.3. D-триггер с прямым динамическим управлением

 

 

 

 

 

 

Условное обозначение данного триггера показано на

T

 

 

 

 

DQ рис. 6. Триггер функционирует следующим образом: фронт каждого синхроимпульса вызывает установку триг-

C

 

 

 

Q

гера в состояние, при котором выходной сигнал Q совпа-

 

 

 

 

 

 

 

 

дает с двоичным значением сигнала D , действующего во

Рис. 6

 

 

 

 

время формирования этого фронта.

4.Регистры

4.1.Параллельные регистры

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

4.2. Последовательные регистры

Эти регистры называют также сдвиговыми регистрами или регистрами сдвига. Они осуществляют операцию (микрооперацию) сдвига кодового слова по разрядной сетке.

Пусть имеется 6-разрядное двоичное число (слово двоичного кода) 001100 . Сдвиг этого слова вправо на один разряд означает его преобразование

в слово 000110 , т. е. двоичное значение каждого разряда заменяется значением

соседнего старшего разряда.

Сдвиг исходного слова на два разряда вправо приводит к слову 000011. Сдвиг исходного слова влево на один разряд приводит к слову 011000 . Таким

образом, двоичное значение каждого разряда заменяется значением соседнего младшего разряда.

Сдвиг исходного слова влево на два разряда приводит к слову 110000 .

6

3-разрядный последовательный регистр со сдвигом вправо может быть по- строен так, как показано на рис. 7. Здесь in информационный вход регистра

in

D

T

Q

2

D

T Q

1

D

T

Q

0 out

 

 

 

 

 

C

C

 

 

 

C

 

 

C

 

 

 

Рис. 7

(последовательный вход), C вход синхронизации, out выход (последова- тельный выход).

Полагая, что в исходном состоянии все триггеры регистра установлены в нуль, изобразим временные диаграммы (рис. 8) при последовательном вводе 3- разрядного слова 101. Согласно рис. 8 в данном случае выводится из регистра в последовательном коде то же слово 101, которое вводилось в регистр. Причем выходное слово задержано относительно входного на 3 такта (3 периода син- хроимпульсов, один из которых может быть неполным), т. е. каждый триггер регистра обеспечивает задержку на 1 такт. В каждом такте осуществляется сдвиг записанного в регистр слова Q 2 Q1Q0 вправо на один разряд: в первом

такте в регистр записывается слово 100, во втором – 010.

Аналогичный регистр со сдвигом влево получается, если входом регистра сделать информационный вход крайнего правого триггера, а выходом регистра

выход крайнего левого триггера. Тогда выход каждого триггера нужно соеди- нить с информационным входом соседнего левого триггера. В реверсивных ре- гистрах осуществляется управление направлением сдвига (изменение направ- ления сдвига).

Заметим, что в слове Q 2 Q1Q0, записанном в регистр (например, рис. 7), Q0 является самым младшим разрядом при любом направлении сдвига.

in

t

C

t

Q 2

t

Q1

t

Q0

Рис. 8

t

 

На основе сдвиговых регистров строятся также параллельно- последовательные (последовательно-параллельные) регистры, в которых до-

7

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

5.Счетчики

5.1.Понятие о счетчиках и делителях, их поведенческое описание

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

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

Один из главных параметров счетчика коэффициент счета (модуль счета, коэффициент деления или емкость) M . Это количество входных (счетных) им- пульсов, после действия которых счетчик возвращается в исходное состояние (переполняется), или количество возможных состояний счетчика, каждое из ко- торых характеризуется определенным набором состояний триггеров. Для n -

разрядного счетчика M ≤ 2n . Коэффициент счета последовательного соедине- ния нескольких счетчиков равен произведению их коэффициентов счета.

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

По значению коэффициента счета различают двоичные счетчики (у них

M = 2n ), двоично-кодированные (с произвольной величиной M и кодировани- ем состояний двоичным кодом) и др. Двоично-кодированный счетчик при

M =10m ( m целое) называют двоично-десятичным либо декадным или деся- тичным.

По направлению счета счетчики делят на счетчики прямого счета (сумми- рующие), счетчики обратного счета (вычитающие) и реверсивные (с изменени- ем направления счета).

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

Основными режимами работы счетчиков являются регистрация количества поступивших входных импульсов и деление частоты. В первом из этих режи- мов регистрируется состояние (содержимое) счетчика. Во втором режиме (де- ления частоты) используются только выходные импульсы последнего (в цепоч- ке разрядных схем) триггера. Эти импульсы следуют с частотой fout = fin/ M ,

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

8

качестве делителя на M . Поэтому любой счетчик называют счетчиком- делителем.

Состояние n -разрядного счетчика можно определить либо некоторым де- сятичным числом N либо соответствующим n -разрядным двоичным числом

Q n1 Q n2 ... Q0 , в котором

Qk состояние триггера k -го разряда

(k = 0,1, ..., n1). Эти два числа связаны между собой соотношением

N = Q n1 × 2n1 + Q n2 × 2n2 + ... + Q 0 × 20 ,

где n разрядность счетчика;

Q0, Q1, ... , Q n1 совокупность состояний

триггеров.

 

В суммирующем счетчике каждый входной импульс увеличивает записан- ное в счетчик число N или Q n1 Q n2 ... Q0 на единицу (содержимое счет-

чика инкрементируется). Обычно исходное

состояние такого счетчика

Q0 = Q1 = ... = Q n1 = 0 . При этом содержимое

N счетчика является количе-

ством поступивших входных импульсов с точностью до слагаемого iM , где i целое число.

Ввычитающем счетчике каждый входной импульс уменьшает записанное

всчетчик число N на единицу (содержимое декрементируется). Обычно ис-

ходное состояние такого счетчика Q0 = Q1 = ... = Q n1 =1. Тогда содержимое

N счетчика является разностью числа 2n 1 + 2n 2 + ... + 20 = 2n -1 и коли-

чества поступивших входных импульсов с точностью до слагаемого iM , где i

целое число.

Значит, например, для 3-разрядных двоичных счетчиков должна быть справедлива табл. 3.

 

 

Таблица 3

 

 

 

Количество

Состояние суммирующего

Состояние вычитающего

входных

счетчика

счетчика

импульсов

Q2 Q1 Q0

Q2 Q1 Q0

0

000

111

1

001

110

2

010

101

3

011

100

4

100

011

5

101

010

6

110

001

7

111

000

8

000

111

9

001

110

9

При заполнении таблицы учтено, что после 2n = 23 = 8 входных импульсов двоичный счетчик возвращается в исходное состояние (как говорят, переполня- ется). Согласно табл. 3 диаграмму состояний для 3-разрядного суммирующего двоичного счетчика можно представить так, как показано на рис. 9. Причем in = 1 соответствует действию очередного импульса на счетный вход in счет- чика, а для приведенных ниже (см. 5.2, 5.3) схем построения счетчиков фор- мированию фронта этого импульса.

000

in

in

010

in

011

 

001

 

in

 

 

 

 

in

111

in

110

101

in

100

 

in

 

 

Рис. 9

5.2. Структура двоичных счетчиков с последовательным переносом

Табл. 3 показывает, что триггер младшего разряда у суммирующего и вы-

читающего счетчиков должен опрокидываться при каждом очередном входном импульсе: нули и единицы чередуются (поодиночке) в столбцах Q 0. В столб-

цах Q1 нули и единицы чередуются парами, т. е. вдвое реже. В столбцах Q 2

они чередуются четверками еще вдвое реже. Следовательно, и суммирующий, и вычитающий двоичные счетчики можно построить как цепочку последова- тельно соединенных делителей на 2 , т. е. асинхронных T -триггеров. Причем входным должен быть триггер младшего разряда, выходным триггер старше- го разряда. Кроме того, согласно табл. 3, какой-либо триггер суммирующего счетчика (за исключением триггера самого младшего разряда) изменяет свое состояние на противоположное при опрокидывании триггера соседнего млад- шего разряда из единицы в нуль. В вычитающем счетчике это происходит, на- оборот, при опрокидывании триггера соседнего младшего разряда из нуля в единицу.

С учетом проведенного анализа табл. 3 суммирующий счетчик может быть реализован по схеме (рис. 10). Вычитающий счетчик получится, если подклю- чить вход каждого последующего триггера к прямому (а не к инверсному) вы- ходу предыдущего триггера.

Такие счетчики называют счетчиками с последовательным переносом. Главное достоинство этих счетчиков простота. Кроме того, они мало нагру- жают предшествующие элементы и узлы, так как входные импульсы поступают только на вход триггера младшего разряда. Их недостаток низкое быстродей- ствие, что обусловлено поочередным срабатыванием триггеров.

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]