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

КЛЕВО_FPGA

.pdf
Скачиваний:
39
Добавлен:
14.04.2015
Размер:
8.21 Mб
Скачать

Глава 8. Синхронные драйверы

При Д = О V == О пробегание цикла D, С, В, А, DC; При R = 1 переход в состояние А не зависимо от V.

а) Начертите диаграмму состояний.

б) Сформулируйте переходную таблицу.

в) Реализуйте схему с двумя D - триггерами.

J \ l логическая -|у| схема

SN1

гЛ

CLK.

Л

блок ЗУ

H J

 

 

 

логическая

 

 

схема

блок ЗУ

 

SN2

^

 

 

У

Рис. 8.12. Синхронный драйвер Мили с буферными блоками ЗУ на выходе

Задача 8.2. Разработайте представленную в главе 8.1 схему упра­ вления электротехниескими устройствами, используя вместо JK-триг- геров:

а) RS-триггеры;

б) D-триггеры.

Сравните затраты на реализации трех видов схем.

Задача 8.3. Разработайте синхронный драйвер Мура, который пред­ ставляет собой реализацию парковочного автомата, выдающего кви­ танции на парковку стоимостью в 1,5 евро.

Монеты могут быть вброшены в любой последовательности. Ес­ ли достигнута или превышена сумма в 1,5 евро, должна быть выда­ на квитанция на парковку и, при необходимости, выплачена сдача.

Парковванный автомат содержит прибор ]щя контроля монет, который принимает только монеты в 50 центов и в 1 евро. После каждого тактового сигнала на выходе прибора для контроля монет воспроизводится в соответствии с представленной ниже таблицей истинности то, что было вброшено.

Исключается, чтобы на приборе JI^JIK контроля монет воспроиз­ водилось М — (1,1) и чтобы в течение тактового периода вбра­ сывалось более одной монеты. Фальшивые монеты автоматически возвраш;аются.

 

8.3. Упражнения 233

Вброс

Выход прибора р^ля контро­

ля монет М — {XI^XQ)

 

Никакой или фальшивая монета

00

Монета в 50 центов

01

Монета в 1 евро

10

Квитанция на парковку выдается с выходным сигналом 5 = 1 , одновременно механически запирается прием монет. В других слу­ чаях вброс возможен. С сигналом Я = 1 возвращается монета в 50 центов

а) Выдайте диаграмму состояний и соответствующую ей табли­ цу последовательности состояний.

б) Определите переходные функции и выходные функции.

ГЛАВА 9

МУЛЬТИПЛЕКСОРЫ и ПРЕОБРАЗОВАТЕЛИ КОДА

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

9.1. Мультиплексор

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

-£-{1}

h

&

h

&

 

 

HI>-^

• £ ^

EN

 

h

n

 

 

 

MUX

&

>i

 

Xa~

^1

0

и

--ny

 

 

X\

2)

G -

&l-i

 

 

X7~

1

h

&

 

 

 

/ o -

0

 

 

 

 

 

/ l -

1

 

h

&

 

 

 

h-

2

 

 

 

 

h-

3

 

 

&

 

 

 

h-

4

 

 

 

 

 

h-

5

 

 

 

 

 

 

h-

6

 

xo

—(Г}Д{Т}>-

 

 

 

h-

7

 

Рис . 9.1. 8:1-мультиплексор 74151 с логическим символом.

9,1. Мультиплексор

В качестве примера на рис. 9.1 показан схемный элемент 74151. Этот мультиплексор обозначается как мультиплексор 8:1, так как с его помощью 8 различных входов li могут быть на выбор подсоеди­ нены к одному выходу у. В КМОП-версии данный схемный элемент реализуется с помощью проходных вентилей (transmission gates), с помощью селективных входов ^2, :г:1, XQ выбирается один /^ вход. По­ сле стабилизации адресных сигналов и сигналов данных выбранный вход может быть подключен с помощью активирующего сигнала -I JE ( enable, разрешающий). Выход у остается в состоянии О, пока -iE = 1. При -1 £? = О выбранный выход подключается.

Данный схемный элемент вьшолняет следующую логическую функцию:

XQIQ V -> Х2-^ XIXQII V X2Xi-^Xol2 V -> X2XiXoh\/

У X2-^Xi-^Xol4 V Х2 XIXQI^ V Х2Х1-^Хо1б V X2XiX()l7)

(9.1)

Показанный на рис. 9.1 логический символ 8:1-мультиплексора 74151 обозначен надписью MUX. Функция мультиплексора описыва­ ется зависимостью U(G) селективных входов Xi и входов данных Д. Селективные входы пронумерованы от О для XQ ДО 2 для Х2'

Таблица 9.1. Таблица истинности 8:1-мультиплексора 74151 является произвольной величиной G {0,1})

-пЕ

Х2

Xi

Хо

I?

h

h

h

h

h

/ i

/o

У

1

d

d

d

d

d

d

d

d

d

d

d

0

0

0

0

0

d

d

d

d

d

d

d

X

X

0

0

0

1

d

d

d

d

d

d

X

d

X

0

0

1

0

d

d

d

d

d

X

d

d

X

0

0

1

1

d

d

d

d

X

d

d

d

X

0

1

0

0

d

d

d

X

d

d

d

d

X

0

1

0

1

d

d

X

d

d

d

d

d

X

0

1

1

0

d

X

d

d

d

d

d

d

X

0

1

1

1

X

d

d

d

d

d

d

d

X

9.1.1.Реализация функций мультиплексора

Мультиплексор можно использовать для реализации логических функ­ ций. Покажем это на примере. Подлежащая реализации логическая функция задана диаграммой Карно, показанной на рис. 9.2. Исполь­ зуется мультиплексор 8:1.

Глава 9. Мультиплексоры и преобразователи кода

Мультиплексор 8:1 имеет три селективных входа, на которые подаются три из четырех переменных. Для выбора этих трех пере­ менных имеются четыре возможности.

Xi

хг Хъ

1

1

 

1 ^^

h

и

 

 

h

 

1

1

 

 

 

 

 

1

1

XQ

h

h

h

h ]M

 

1

1

 

 

 

 

хг

 

 

 

 

Хг

 

a)

 

 

 

 

b)

 

Рис . 9.2. a) Диаграмма Карно-Вейга для функции, приведенной в примере; Ь) определение входных полей.

Не используемая в данный момент переменная так подается на входы данных /^, чтобы на выходе мультиплексора появилось задан­ ное значение функции. Теперь поясним прохождение этого процесса.

Сначала установим, какие переменные должны использоваться на селективных входах. Допустим выбраны жз, я:2, ^ ь С этими тремя переменными на селективных входах в KB-диаграмме соотносятся поля с 2-мя переменными. На рис. 9.2 заданы поля, которые долж­ ны быть приведены в соответствие с одним из входных векторов. При нумерации полей следует учитывать вес селективных входов: жз имеет вес 2^, Х2 имеет вес 2^, xi имеет вес 2^.

Затем на входы данных мультиплексора должны быть поданы соответствующие остаточные функции. Если какая-либо из них не содержит 1, то на соответствующем входе данных должен быть 0. При наличии двух единиц в одном поле на вход данных подается 1. В случае, когда в поле только одна 1, оно принимает позицию, со­ ответствующую 1.

Например, на рис. 9.2 b можно прочитать, что на Ii должно быть подано -1 гго, так как поле /о имеет только одну 1 в позиции, которая не покрыта граничным обозначением XQ.

9.1. Мультиплексор

Альтернативно для реализации данной функции может быть при­ менен мультиплексор типа 16:1. В этом случае на его входы должны быть поданы только лишь О и 1. Но относительно аппаратных за­ трат этот вариант не имеет преимущества перед мультиплексором типа 8:1.

У

Р - --У

Р и с . 9.3. Включение мультиплексора для реализации функции, определен­ ной на рис. 9.2.

Xl

 

Хз

 

 

 

 

Хз

 

 

 

 

 

 

1

 

 

li,

h

h

h j

1

1

 

 

 

 

 

1

1

Хо

 

 

 

Xo

 

 

 

 

 

1

 

XI

{

 

 

 

 

 

 

 

 

 

Х2

 

 

 

 

X2

 

a)

b)

Рис . 9.4. a) Диаграмма Карно-Вейга для функции, взятой в качестве при­ мера; Ь) Определение входных полей.

В случае применения мультиплексора типа 4:1 на обои селектив­ ные входы подаются две переменные, а на четыре входа данных

Глава 9. Мультиплексоры и преобразователи кода

подаются по одной функции DNF (или KNF), образованные дву­ мя другими переменными. Пример показан на рис. 9.4. Если подать на селективные входы мультиплексора жз и 0:2, подача сигналов на входы данных будет особенно простым.

В этом случае можно обойтись одним 4:1-мультиплексором, без дополнительных вентилей (рис. 9.5). Если к селективным входам под­ вести XI и ггб, то в этом варианте к входам данных необходимо подключить дополнительные вентили.

MUX

-,£-dEN

р—^^

О — ^

41 b

Рис . 9.5. Включение мультиплексора для реализации функции, определен­ ной на рис. 9.4.

9.2. Преобразователь кода

Преобразователь кода представляет собой схему, которая преобра­ зует слова, соответствующие коду 1, подаваемые на т входов, в сло­ во из другого кода, кода 2.

В этом случае кодовое слово на выходе имеет длину п бит. В логи­ ческом символе, приведенном на рис 9.6, оба кода указаны в надписи.

Рис . 9.6. Логический символ преобразователя кода

Преобразователь кода применяется в следующих областях:

для трансформации, например, двоично-десятичного кода в шестнадцатиричный код;

9,2. Преобразователь кода 239

для генерации наборов функций;

в качестве демультиплексеров. Как разъясняется ниже, демультиплексер является противоположностью мультиплексера. Он служит А^ля того, чтобы направить данные с одного информа­ ционного канала многим адресатам.

 

 

Уо

 

b—I

У\

 

Уз

хо —(lb

У2

 

 

xi

—^

 

 

Е

У4

Х2

У5

[Г]>

Уб

&

X3—\l}

 

У1

 

HIb

У%

 

 

т

У9

 

Р и с . 9.7. Структурная схема и логический символ преобразователя 7442 двоично-десятичного кода в десятичный код

9.2.1.Преобразователь двоично-десятичного кода в десятичный код 7442

Вкачестве примера на рис. 9.7 представлен преобразователь кода

7442. Он преобразует двоично-десятичный код в код 1 из 10. Код 1 из 10 является кодом, слова которого имеют свойство, заключа­ ющиеся в том, что все разряды, кроме одного, имеют значение 1. Преобразователь кода имеет 4 входа и 10 выходов. В исходном со­ стоянии выходы находятся в состоянии 1 и в случае выборки пере­ ключатся на 0.

Каждый выходной сигнал реализует соответствующие макстермы.

Уг =Mi

0 , 1 , . . . , 9

(9.2)

Функцию можно интерпретировать также и как, реализующую на каждом выходе соответствующий инвертированный минтерм:

уе = MQ = хзУ -^Х2У -'XiW хо = -^ {-^xsX2Xi-^хо)

(9.3)

Глава 9. Мультиплексоры

и преобразователи

кода

В логическом символе преобразователя кода 7442 указаны оба кода, между которыми происходит трансформация. В данном слу­ чае это BCD/DEC, что означает из двоично-десятичного кода в де­ сятичный код. Разряды двоично-десятичного кода (BCD) даны вну­ три обрамления символа слева. На правой стороне указаны разряды j\jisi выходов.

Таблица 9.2. Таблица истинности преобразователя 7442 двоично-десятич­ ного кода в десятичный код

десятичный

ХЗ

Х2

 

XI

XQ

У9

2/8

У7

Уб

Уъ

УА

УЗ

 

У2

УХ УО

0

0

0

 

0

0

1

1

1

1

1

1

1

1

1

0

1

0

0

 

0

1

1

1

1

1

1

1

1

1

0

1

2

0

0

 

1

0

 

 

 

 

 

 

 

 

 

 

3

0

0

 

1

1

 

 

 

 

 

 

 

 

 

 

4

0

1

0

 

0

 

 

 

 

 

 

 

 

 

 

5

0

1

0

 

1

 

 

 

 

 

 

 

 

 

 

6

0

 

1

1

0

 

 

 

 

 

 

 

 

 

 

7

0

 

1

1

1

 

 

 

 

 

 

 

 

 

 

8

1

0

 

0

0

 

 

 

 

 

 

 

 

 

 

9

1

0

 

0

1

 

 

 

 

 

 

 

 

 

 

10

1

0

 

1

0

 

 

 

 

 

 

 

 

 

 

11

1

0

 

1

1

 

 

 

 

 

 

 

 

 

 

12

1

1

0

 

0

 

 

 

 

 

 

 

 

 

 

13

1

1

0

 

1

 

 

 

 

 

 

 

 

 

 

14

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

15

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

9.2.2.Демультиплексор

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

В качестве примера используем для этой цели преобразователь дво­ ично-десятичного кода в десятичный код. Для этого имеющий наи­ большую значимость вход использован как вход данных Е (рис. 9.8).

Входы Х2, xi и а;о становятся адресными входами демультиплексора. Они выбирают выход. В качестве выходов применяются толь­ ко электроды от О до 7. Функцию определяет таблица истинности

9.2. Преобразователь

кода

(табл. 9,2). А именно, имеющий наибольшее значение вход xs опре­ деляет, имеет ли выбранный с помощью входов а;25 ^i и XQ ВЫХОД состояние О или 1. Для этой цели можно было бы также использо­ вать двоичное число, полученное преобразователем восьмеричного кода с 8-ю выходами.

BCD/DEC

 

 

Уо

 

 

у\

 

 

У2

 

 

Уъ

 

 

У4

 

Hi

У5

 

У6

 

 

 

и

У1

 

 

Х2

р-

 

 

 

Xi

 

 

Рис . 9.8. Применение преобразователя десятичного кода в качестве демультиплексора.

Мультиплексор и демультиплексор могут совместно образовать линию передачи данных, позволяющую передавать п параллельных потоков данных по одному проводу. Принцип этого показан на рис. 9.9. На адресные входы мультиплексора и демультиплексора периоди­ чески подаются адреса от О до 7. Благодаря этому каждый вход­ ной сигнал li переносится в одну восьмую интервала времени на выход уг. Таким образом каждой линии с помощью данной систе­ мы выделен отрезок временного интервала. Метод называется вре­ менным мультиплексированием (time division multiple access, TDMA, коллективный доступ с временным разделением).

9.2.3.Генерирование наборов функций

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

Уз? У2^ У1 и уо с тремя входами Х2^ xi и XQ. ОНИ приведены в табл. 9.5. В данном случае применен преобразователь двоичного кода в вось­ меричный код, реализуемый схемой 74138, поскольку этот преобра­ зователь кода имеет 3 входа и 8 выходов. На основании таблицы истинности можно сказать, что состояние выходов соответствуют