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

книги из ГПНТБ / Потемкин, И. С. Построение функциональных узлов на потенциальных системах элементов учебное пособие

.pdf
Скачиваний:
14
Добавлен:
19.10.2023
Размер:
5.22 Mб
Скачать

2. Вариант б (рис. 50) не требует многовходового эле­ мента И, его роль играет тракт переноса счетчика. Сигнал переноса можно использовать для переключения управляю­ щего триггера.

Непосредственно перед сбросом счетчика в начальное со­ стояние 2я—k происходит самый длинный из возможных процесс установления кода — смена всех 1 на все 0.

3. Варианты а и б, в которых счетчик не переходит свой естественный 0, удобны тем, что позволяют заводить на многовходовую И сигналы не со всех триггеров, а только с тех, которые при коде конца счета находятся в единичном состоянии, в то время как вариант г требует заведения на элемент И и нулевых выходов триггеров. Это может оказать­ ся неудобным в некоторых типах счетчиков на асинхронных 7-триггерах.

4. Произвольный выбор начала и конца счета в вариан­ тах в и г позволяет, во-первых, оборвать счет на какой-либо быстро устанавливающейся комбинации и, во-вторых, в не­ которых пределах изменять число входов у элемента И и чис­ ло устанавливаемых триггеров; это позволит маневрировать при возникновении ограничений по. М или N.

*

**

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

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

5-5. Распределители импульсов

Распределителем импульсов называют функциональный узел, который коммутирует синхросигналы по очереди на U7 направлений. Он имеет вход, на который подаются сигналы синхросерии, и W выходов, на которых сигналы появляются согласно диаграмме рис. 52,а. Это счетчик, выход которого представлен одинарным кодом. Распределитель может быть

89

разомкнутый, когда для получения одной полной серии вы­ ходных сигналов на его управляющий вход нужно подать сигнал «Пуск», и замкнутый в кольцо. В этом случае послед­ ний выходной сигнал заведен на пусковой вход, и циклы распределителя повторяются без специальных управляющих сигналов, как показано на диаграмме. Экономичная схема распределителя показана на рис. 52,6. Основой распределите­ ля является линейка триггеров Т\^-Т4. Из-за применения двухтактной синхронизации число триггеров должно быть четно. Для примера на рисунке показаны 4 триггера. На входные вентили поданы синхросерии С\ и С2, т. е. смена со­ стояний триггеров привязана к синхросигналам. Вместо двухтактной серии Ci и С2 можно использовать сигналы с прямого и инверсного выходов Г-триггера, пересчитывающе­ го сигналы однотактной синхросерии. Сигналы с входных вентилей триггеров поступают не только на RS-входы самих триггеров, но и являются выходными сигналами распредели­ теля. Принцип их нумерации будет ясен из дальнейшего.

Триггеры соединены так, что образуют счетчик, работаю­ щий в унитарном коде, когда кодируемая величина представ­ лена числом единиц. Состояния триггеров в интервале вре­ мени to-7-t7 показаны на рис. 52,в. Линейка триггеров снача­ ла (интервалы to~t4) по очереди заполняется «единицами», потом, во время второй половины цикла,— «нулями». 4 триг­ гера позволяют построить счетчик на 8 состояний, п тригге­ ров — па 2п состояний.

Начертите схему, содержащую 4 триггера, их вентили приема и поданные на них синхросигналы, как на рис. 52,6', только без связей между триггерами. Теперь начертите все связи типа а, т. е. связи между единичными выходами пре­ дыдущих (по порядку переключения) триггеров и вентилями S-входов последующих. Не чертите только аналогичной связи между Т4 и Т1. Пусть во время действия Сi Тi находится в единичном состоянии (момент to). Тогда на вентили S-вхо­ да триггера Т2 с триггера Т\ будет поступать единичный сиг­

нал; в момент tu когда появится

С2, Т2 перейдет

в 1.

Рас­

пространяться дальше процесс не будет, так как S-вептиль

7'3 закрыт (в это время Ci = 0).

Но в момент t2,

когда

поя­

вится С\, Т2 также примет единичное состояние и т. д. Таким образом, связи типа а позволяют получить последовательное заполнение триггеров единицами, т. е. левую половину таб»

лицы рис. 52,в. Чтобы продолжить процесс, введем связь а с прямого выхода Т4 на вентиль Я-входа Т\. Начертите ее. Те-

90

t)

Р и с . 52. Р а сп р е д е л и т е л ь и м п у л ь с о в : а — в р ем ен н а я д и а г р а м м а ; б — р а сп р е д е л и т е л ь на о с н о в е сч етч и к а в у н и т а р н о м к о д е ; в — д и а г р а м м а п ер ек л ю ч ен и я т р и г г е р о в ; г — р а сп р е д е л и т е л ь на о с н о в е д в о и ч н о г о с ч е т ­ чи ка и д е ш и ф р а т о р а

91

перь, после того, как в Т4 появится «единица» (не ранее!), в момент t4 по С\ триггер Т\ переключится в нулевое состоя­ ние. Далее, чтобы провести заполнение счетчика «нулями», необходимо ввести связи типа Ь с инверсных выходов преды­ дущих триггеров иа Д-входы последующих. Теперь счетчик, перебрав все свои 8 состояний, дойдет до состояния 0000 и остановится. В разомкнутом варианте счетчика для запуска процесса нужно завести сигнал «Пуск» на S-вентиль 7Т и по­ давать его по СI. Если счетчик должен работать в кольцевом режиме, нужно автоматизировать процесс запуска, т. е.

ввести связь Ь с нулевого выхода Т4 на 5-вход Т\.

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

исвяжем положение возбужденного выхода дешифратора. Тогда дешифратор будет состоять из двухвходовых элемен­ тов И, на каждый из которых подана предыдущая «единица»

иследующий «нуль», т. е. прямой выход предыдущего триг­ гера и инверсный последующего. На вентили S-входов триг­ геров уже поданы прямые выходы предыдущих триггеров (связи типа а). Осталось завести на них инверсные выходы последующих триггеров (связи типа с), после чего с выходов S-вентилей триггеров можно снимать сигналы на выход рас­ пределителя. Так получены выходы 1, 2, 3, 4. Для получения выходов второй половины таблицы нужно выделить границу «пулей» и «единиц» во второй половине цикла. Это делается аналогичным образом с помощью связей типа d, подающих

прямой выход последующего триггера на вход Д-вентиля предыдущего.

Поскольку после Т4должен переключиться Т\, причем нап­

равление его переключения противоположно Т4 (связи а и b инверсны по отношению к связям а и Ь), дешифрирующие связи входных вентилей Т4 должны быть также инвертирова­ ны. Это — связи e n d . Таким образом, 'вторую половину вы­ ходных сигналов дешифратора мы будем снимать с выходов Д-вентилей триггеров счетчика.

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

92

Кольку все входные вентили триггеров открыты по входам синхросигналов, могут, во-первых, переключиться подряд сразу несколько триггеров счетчика; во-вторых, может поя­ виться перекрытие выходных сигналов, что в большинстве случаев недопустимо. Эту опасность ликвидируют противого-

ночные связи типа / и /, разрешающие следующему вентилю сработать только после исчезновения предыдущего выходно­ го сигнала, т. е. после окончания интервала перекрытия С\ и С% Теперь постройте временную диаграмму и проследите по ней работу всех элементов распределителя в течение 2—3 тактов.

Распределители применяются при циклической коммута­ ции каналов передачи информации, регистров памяти и т. д., но чаще всего их применяют в устройствах управления для выработки последовательности управляющих сигналов. В этом случае-очень важным параметром распределителя яв­ ляется вносимая им задержка, т. е. задержка между фрон­ том синхросигнала и фронтом выходного сигнала распредели­ теля. У описанного выше распределителя она предельно ма­ ла — всего 1т. Это — важное положительное свойство данно­ го функционального узла. Требуемое оборудование распре­ делителя равно 8 единицам на 1 достояние и линейно растет с ростом числа состояний.

Кроме использования унитарного счетчика, распредели­ тель можно построить и на основе двоичного счетчика, пере­ считывающего синхросигналы, и подключенного к нему де­ шифратора. Счетчик перебирает в естественном порядке все возможные комбинации, а Дш расшифровывает их, возбуж­ дая последовательно свои выходы. На рис. 52,г показана эта комбинация функциональных узлов для восьми выходов. Распределители на основе счетчика и Дш, даже если счетчик выполнен по схеме с одновременным переносом, имеют вре­ мя задержки, равное 5т (4т на Г-триггер и 1т на линейный Дш), что существенно больше, чем время задержки распре­ делителя па основе унитарного счетчика.

На практике чаще всего применяются распределители на число состояний в пределах 1—3 десятков. Оценки по расхо­ ду оборудования показывают, что до №=32-^64 распредели­ тель на основе унитарного счетчика выгоднее, чем распреде­ литель на основе двоичного счетчика и Дш.

В импульсно-потенциальных ситемах элементов распреде­ лители часто строили на основе сдвигающего регистра, в ко­ тором двигалась одна единица. Сдвигатель в потенциальной

93

Системе требует 8 элементов И—НЕ на 1 разряд (на 1 со­ стояние). Это соответствует затратам оборудования в 24 еди­ ницы на 1 состояние? что втрое больше, чем затраты на опи­ санный выше распределитель. Поэтому распределители на основе сдвигателей в этой книжке не рассматриваются.

Г л а в а 6

УЗЛЫ к о н т р о л я

6-1. Аппаратный контроль. Циклические коды

Многие цифровые устройства снабжаются системой встро­ енного аппаратного контроля, позволяющей обнаружить или даже исправить некоторые ошибки. Наиболее распростране­ ны следующие способы контроля: контроль с использованием циклических кодов, контроль по четности и контроль по мо­ дулю 3. Оценка эффективности и областей применения раз­ личных способов контроля — самостоятельная тема, и инте­ ресующемуся читателю мы рекомендуем [Л. 9] и другие ра­ боты по теории^кодирования. В данной книге рассматри­ ваются лишь методы аппаратной реализации тех узлов, ко­ торые в наибольшей мере определяют затраты времени и оборудования систем аппаратного контроля.

Р и с . 53 . В а р и а н т ы с х е м с л о ж е н и я п о м о д у л ю 2

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

9+

«косой» передачи между некоторыми разрядами включены схемы сложения по модулю 2. Места расположения этих схем и информация, подаваемая на второй вход сумматора по модулю 2, определяется выбранным способом кодирова­ ния и в данном случае значения не имеет. Нам важно лишь то, что функциональный узел состоит из сдвигателя и схем сложения по модулю 2. Сдвигатели на 1 разряд уже были описаны в разделе 3-4, а варианты реализации сумматора пс модулю 2 показаны на рис. 53. Читатель теперь уже без труда выберет подходящий для него вариант схемы. Таким образом, если задан закон построения циклического кода, то для читателя, освоившего предыдущий материал, схемная реализация узлов кодирования и декодирования информации ничего нового не представляет.

6-2. Схемы свертки по четности

При использовании контроля по четности (по модулю 2) многоразрядное слово снабжается контрольным разрядом р, к котором записывается 0, если число единиц в двоичном ко­ де слова нечетное, и 1, если число единиц четное. Значение контрольного разряда получают с помощью схемы свертки по четности. Принцип работы схемы свертки основан на том, что при сложении по модулю 2 всех разрядов слова в ре­ зультате получается 0, если число единиц в слове четное, и 1, если число их не четное. Остается лишь проинвертировать результат, и мы получим значение контрольного разряда.

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

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

96

может значительно замедлить работу цифрового устройства. Если число, подлежащее операции «сворачивания», получает­ ся не сразу все, а разряд за разрядом, как происходит, нап­ ример, с суммой в параллельном сумматоре с последователь­ ным неускоренным переносом, то свертку числа рационально выполнять на группе сумматоров по модулю 2, включенных по линейной схеме. Сначала суммируются по модулю 2 два младших разряда, результат поступает на вход следующего сумматора по модулю 2 и складывается там со значением третьего разряда, на следующем сумматоре к полученной сумме прибавляется значение 4-го разряда и т. д. При такой схеме включения волна суммы по модулю 2 с небольшой за­ держкой будет следовать за волной получения разрядов суммы, и правильное значение контрольного разряда р будет получено через 2т после получения последнего разряда сум­ мы. Если же в числе, подлежащем операции свертки все разряды получаются одновременно (например, прием числа параллельным кодом из другого устройства), то для ускоре­ ния операции вспомним, что операция суммирования по мо­ дулю 2 обладает коммутативным свойством, т. е. ее резуль­ тат не зависит от перемены мест слагаемых. Поэтому для ускорения операции свертки схему обработки слова нужно строить не по линейному, а по пирамидальному принципу,

производя максимально возможное число операций одновре­ менно. Такая схема состоит из нескольких каскадов. На пер­ вом каскаде происходит одновременное суммирование по модулю 2 попарно всех соседних разрядов. На втором кас­ каде попарно суммируются результаты, полученные с выхо­ дов сумматоров первого каскада, и получаются суммы по модулю 2 уже четверок разрядов, и т. д. Число каскадов, а следовательно, и задержка определяются log2/i, где п — чис­ ло разрядов свертываемого слова. В случае линейной схемы

задержка пропорциональна

число

разрядов,

а при л=

= 16-н64 log2« в несколько

раз меньше самого

п. Что ка­

сается количества оборудования, то

пирамидальная схема

требует столько же сумматоров, сколько и линейная. Число двухвходовых сумматоров по модулю 2, требуемое для пи­ рамидальной схемы, определяется суммой ряда:

21

I JL щ JL

П— \.

2

4

8

 

При линейной схеме число сумматоров такое же.

Обратите внимание на то, что мы уже пользовались по­ добным приемом при построении быстрых сдвигателей и бы­

96

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

Для сложения по модулю 2 можно применять любую из схем, показанных на рис. 53 и сходных с ними. Читатель уже, видимо, легко выберет наиболее подходящую для его систе­ мы элементов. Необходимо лишь учитывать то, что инвер­ сии входных величин получаются без дополнительных затрат оборудования лишь на входе первого каскада, т. е. при по­ лучении информации с триггеров. Во всех остальных каска­ дах для быстрых вариантов сумматоров а и б (рис. 53) Потребуется введение инверторов, и в результате время за­ держки на каскад в любом варианте будет составлять

(2,5Ч-З)т.

Уменьшить глубину каскада можно за счет построения в каждом каскаде параллельно двух сумматоров: одного — для получения суммы по модулю 2, а другого — для полу­ чения ее инверсии.

Удобным свойством операции сложения по модулю 2 яв­ ляется то, что при инвертировании одной из входных величин результат операции также инвертируется, что легко прове­ рить, написав таблицу соответствия. Это позволяет получить инверсию суммы по модулю 2 на такой же схеме, что и са­ му сумму, надо только вместо одной из входных переменных подать ее инверсию. Схема свертки, использующая принципы пирамидального суммирования и отработки в каждом кас­ каде, на одинаковых схемах, как суммы по модулю 2 и ее инверсии для я = 4, показана на рис. 54. Для реализации схемы выбран самый быстрый вариант сумматора из пока­ занных на рис. 53. Добавляя каскады, читатель может рас­ пространить ее на любое число разрядов. При я, равном це­ лой степени двойки, время задержки и оборудование схемы свертки (рис. 54) оцениваются выражениями:

Т — 1,5 log2 я; Q=14(n— 1).

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

7-796

97

Коренного двоичного сумматора с задержкой в тракте пере­ носа, равной (1,5—2)т на разряд.

Глубину каждого каскада пирамидальной схемы свертки по четности можно еще уменьшить. До сих пор мы в каждом каскаде стремились получить и получали законченное выра-

Рис. 54. Узел свертки по четности на основе суммато­ ров по модулю 2

жение суммы по модулю 2 (или ее инверсии) входов, на что требовалось (1,5—2)т. Однако последовательность сумми­ рований по модулю 2 можно представить в виде цепочки функций И—НЕ от некоторых выражений, причем так, что на выходе каждого каскада будут получаться выражения того же типа, что и на его входе; к ним снова можно приме­ нить ту же операцию и т.д. Задержка при этом будет равна 1т на каскад. Принцип построения схемы основан на двух свойствах суммы по модулю 2: инвертировании результата при инвертировании одной из входных переменных и воз­ можности представления этой функции в виде конъюнкции двух членов.

98

Соседние файлы в папке книги из ГПНТБ