КЛЕВО_FPGA
.pdfГлава 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 выходов. На основании таблицы истинности можно сказать, что состояние выходов соответствуют
