Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 156
Текст из файла (страница 156)
Поскольку в исходной игре на угадывание цикл зажигания лампочек повторяется абсолютно регулярно, при частоте тактового сигнала 4 Гц легко научиться побеждать, попрактиковавшись с минуту. Чтобы сделать игру более интересной, можно удвоить или утроить частоту тактового сигнала, но позволить лампочкам оставаться в любом из состояний в течение случайного времени. Вот тогда игроку на самом деле надо будет угады вать, останется ли лампочка зажженной достаточно долго, чтобы нажать соответствующую кнопку.
Блок-схема усовершенствованного автомата для игры на угадывание показана на рис. 7.69. Главный автомат — это, в основном, тот же автомат, что и раньше, за исключением того, что он продвигается от одной конфигурации лампочек к следующей только при получении сигнала на входе разрешения ЕЬ(, как это следует из диаграммы состояний„приведенной парис. 7.70. Разрешающий входной сигнал поступаетт от регистра сдвига с линейной обратной связью (1(неаг Ген Ьас(с з(пй гад(з(ег, ЫБВ), который является генератором псевдослучайной последовательности. С1.ОС К 61-04 1.1-4.4 Епй Рис. 7.69.
Блок-схема автомата для игры на угадывание со случайной, задержкой (С(.ОСК вЂ” тактовый сигнал, ЕЬ(АВ(.Š— сигнал разрешения) Другой явный кандидат на декомпозицию — это конечный автомат, реализующий умножение двоичных чисел по алгоритму сдвига и суммирования или деление двоичных чисел по алгоритму сдвига и вычитания. Чтобы выполнить операцию с л-разрядными числами по одному из этих алгоритмов, необходимы шаг инициализации, л шагов вычислений и, возможно, несколько шагов очистки.
У главного автомата, действующего по такому алгоритму, должны быть состояния инициализации, основного вычисления и очистки, а в качестве подавтомата, задающего число выполняемых шагов при основном вычислении, можно применить счетчик с модулем счета, равным и. 7.8. Разбиение конечных автоматов на блоки 703 ХИТРАЯ СХЕМА Схема регистра сдвига с линейной обратной связью рассматривается в разделе 8 5,8. В схеме на рис. 7.
69 сигнал с выхода младшего разряда и-разрядного регистра используется в качестве сигнала разрешения. Таким образом, длительность интервала времени, в течение которого горит данная лампочка, зависит от последовательности нулей и единиц, возникающих на выходе регистра, В лучшем, с точки зрения игрока, случае в регистре хранится двоичное слово 1О...
00, при этом лампочка будет гореть в течение п — 1 тактов, пос кол ьку именно столько времени нужно, чтобы единица сдвинулась из старшего разряда регистра в младший. В худшем случае регистр содержит 11...11, и сдвиг в конфигурации горящих и потушенных лампочек будет происходить л тактов подряд. В других случаях время, в течение которого автомат будет оставаться в одном и том же состоянии, зависит от числа нулей в регистре сдвига, следующих один за другим, начиная с младшего разряда. Наступление того или иного из этих случаев можно предсказать, если тол ько игрок помнит весь цикл работы регистра сдвига (2" — ! состояний) или умеет быстро считать куме по правилам арифметики в полях Галуа.
Очевидно, что веселее всего, когда л имеет большое значение (л > 16). о4 Рнс. 7.70. Диаграмма состояний автомата для игры на угадывание с вхо- дом разрешения 70Ф Глава 7. Принципы проектирования последовательностных схем '7.9. Последовательностные схемы с обратной связью Простой элемент с двумя устойчивыми состояниями н все защелки и триггеры, рассмотренные нами в этой главе, являются последовательностными схемами с обратной связью. В каждой из них имеется, как минимум, одна петля обратной связи, обеспечивающая сколь угодно долгое хранение 0 или 1, не считая тех моментов, когда происходит переход из одного состояния в другое.
Петли обратной связи являются злементамн памяти; их поведение зависит как от текущих значений входных сигналов, так и от той величины, которая хранится в этой петле. *7.9.1. Анализ Последовательностные схемы с обратной связью являются самым распространенным примером схем классического образ»1а (~илг7атепгоб-тог7е сГгсиГи). В таких схемах в нормальном режиме не допускается одновременное изменение сигналов на входах.
При их анализе предполагается, что входные сигналы изменяются поодиночке, и интервал времени между соседними изменениями достаточен для того, чтобы схема успевала приходить в установившееся новое внутреннее состояние. Этим схемы классического образца отличаются от тактируемых схем, у которых сигналы на нескольких входах могут изменяться практически в любое время, не влияя на состояние, и лишь в момент времени, задаваемый тактовым сигналом, значения всех входных сигналов принимаются во внимание и в соответствии с ними состояние схемы изменяется. Подобно тактируемым синхронным конечным автоматам, струкзуру последовательностных схем с обратной связью можно представить в виде автоматов Мили и Мура, как показано на рис. 7.71. У схемы с и цепями обратной связи имеется и двоичных переменных состояния и 2" состояний. ВОЗДЕРЖИВАЙТЕСЬ ОТ ВВЕДЕНИЯ СОБСТВЕННОЙ ОБРАТНОЙ СВЯЗИ Разработчик цифровой техники лишь изредка сталкивается с ситуацией, когда ему самому необходимо проанализировать или сконструировать последовательностную схему с обратной связью.
В большинстве случаев ~акими схемами оказываются триггеры и защелки, используемые в качестве составных блоков при проектировании последовательностных схем большего размера. Их внутреннее устройство и технические характеристики бывают известны по справочным данным, которые сообщает производитель ИС. Даже разработчик специализированной ИС обычно не собирает триггеры и защелки из отдельных вентилей, поскольку эти элементы имеются в «библиотеке» схем, реализующих стандартные функции по той технологии, которая применена в данной ИС. Но все же вам, наверное, будет любопытно узнать, как «на самом деле» функционируют триггеры и защелки; в этом параграфе рассказывается о том, как проводится анализ работы таких схем. 7.9.
Последовательностные схемы с обратной связью 705 только в автомате Мьяи входы .=:=,'> выходы рнс. 7.71. Структура последовательностных схем с обратной связью в виде автоматов Мили н Мура Анализируя работу последовательностной схемы с обратной связью, мы должны разорвать цепи обратной связи, показанные парис. 7.71, для того чтобы иметь возможность предсказывать следующие значения, запоминаемые благодаря каждой из этих цепей, в виде функций от сигналов на входах схемы и текущих значений, сохраняемых во всех петлях обратной связи.
На рис. 7.72 показано, как это сделать в случае 0-защелки на вентилях И-НЕ с единственной петлей обратной связи. Мы мысленно разрываем обратную связь, вставляя в разрыв фиктивный буфер, как указано на рисунке. Сигнал У на выходе буфера является единственной переменной состояния в этом примере. Р С РМ рнс. 7.72. Анализ обратной связи в 0-защелке Давайте предположим, что задержка распространения в фиктивном буфере равна 1О нс (с тем же успехом могло быть названо любое ненулевое число), а у всех других компонентов схемы задержка равна нулю. Если нам известны текущее состояние схемы У и входные сигналы 0 и С, то мы можем предсказать значение, которое переменная у будет иметь через 10 нс.
Следующее значение у обозначим уч; оно является комбинационной функцией текущего состояния и сигналов на входах. Таким образом, глядя на принципиальную схему, мы можем написать следующее уравнение возбуждения (ехсйайап едиайап) для У": У" = (С 0) + (С Р'+У')' =С О+С' У+0 706 Глава 7. Принципы проектирования последовательиоотиых схем Теперь состояние петли обратной связи (и самой схемы) можно представить в виде функции текущего состояния и значений входных сигналов, перечислив следующие состояния в таблице переходов (ггапвг(гоп гаЫе), приведенной на рис.
7.73. Каждый элемент в этой таблице является значением сигнала на выходе фиктивного буфера через 1О нс (или спустя любое другое время задержки, которое мы предположим) после того, как наступило соответствующее состояние и установились значения сигналов на входах. Рис. 7.73. Таблица переходов С0 для В-защелки, приведенной на ОО О! ) ! )О Рис. 7.72 О О О ! О ! 0 ! ! ! В таблице переходов на каждую возможную комбинацию переменных состояния приходится по одной строке, так что у схемы с п цепями обратной связи таблица содержит 2' строк. На каждую возможную комбинацию входных сигналов приходится по одному столбцу, поэтому у схемы с т входами таблица переходов содержит 2 столбцов. По определению, у схемы классического образца типа последовательностной схемы с обратной связью нет входа для подачи такювого сигнала, которым задавались бы моменты фиксации значений входных сигналов.
Поэтому можно считать, что в такой схеме вычисление текущего состояния и учет значений входных сигналов происходит непрерывно (или, если хотите, каждые 10 нс), В результате каждого вычисления схема переходит в следующее состояние, указываемое таблицей переходов.
Большую часть времени следующим оказывается то же состояние, каким является текущее состояние, в этом и состоит сущность работы по классическому образцу (())е еззепсе о( Тппдашеп(а! шо))е орегайоп). Дадим ряд определений, которые помогут нам изучить поведение таких схем подробнее.
Состояние в целан ((ага! в(иге) схемы классического образца — зто некоторая частная комбинация внутреннего состояния (тгвгпа! вга(е), то есть совокупности значений, запомненных в контурах обратной связи, и состояния входа (гари( в(а(е), то есть совокупности значений сигналов на входах схемы. Устойчивое состояние в целач (в(аЫе (о(а! в(а(в) — зто такая комбинация внутреннего состояния и состояния входа, что следующее внутреннее состояние, предсказываемое таблицей переходов, является точно таким же, как и текущее внутреннее состояние. Если следующее внутреннее состояние отличается от текущего внутреннего состояния, то комбинация текущего внутреннего состояния и состояния входа является нвусл|ойчивы,ч состоянием в цвлоч (ипгааЫе го(а( таге), Таблицу переходов Р-защелки можно преобразовать в таблицу состояний (та(е гаЫв), представленную на рис.
7.74, назвав состояния 80 и 8! и обведя кружками устойчивые состояния в целом. 7.9. Последоветельностные схемы с обратной связью 707 ТОЛЬКО ОДНА ОБРАТНАЯ СВЯЗЬ Схема на рис. 7.72 изображена так, как если бы в ней имелись две петли обратной связи, но это не так. Действительно, когда петля обратной связи разрывается, как показано на рисунке, никаких обратных связей в схеме не остается, поскольку теперь каждый сигнал можно представить в виде комбинационной функции от других сигналов, но не от него самою.