Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 138
Текст из файла (страница 138)
Используйте ИС 22Ч10 или меньшие ПЛУ и попытайтесь минимизировать общее число требуемых микросхем. Определите полную задержку вашего устройства в наихудшем случае в терминах числа задержек, вносимых отдельными ПЛУ, на пути сигнала от входа до выхода. 6,7 Найдите другой код для ходов в игре в крестики и нолики [табл. 6.13), который обладает теми же самыми свойствами в отношении поворота игрового поля, что и исходный код. Другими словами, лолжна быть возможной компенсация поворота поля на 180' с помощью только инверторов и переключения соединений. Определите, помешается ли схема, реализующая равенства двя Тгч01ь]НАГ при новом способе кодирования, в одной ИС 22Ч10. Используя моделируюшую прш'Рамму, найдите последовательность ходов, при которой блок Р1Ск2, Реализованный в ПЛу (табл, 6,16), проигрывает игру в крестики и нолики лаже в том случае, когда игрок Х ходит первым.
Задачи 617 6.9. Зм Измените программу в табл. 6. ! 6 так, чтобы она имела больший шанс победить или, по крайней мере, не проиграть, Может ли все же ваша новая программа проиграть? 6.10. ! О Измените блок «дополиительная логика» в схеме на рис. 6, ! 3 и программу в табл. 6, )6 так, чтобы дать программе больший шанс победить или, по крайней мере„не проиграть, Может ли все же ваша новая программа проиграть? 6 !! Запишите ЧН)3Ь-функции Чгог, Чв11, Чег1, Чв1в и Чвга для программы, приведенной в табл.
6. )7, используя операции гог, в11, зг1, в1в и вга, определение которых дано в табл. 6.3. 6 !2 В наихудшем случае задержка итерационной схемы коррекции бтхцр из табл. 6.20 от первого декодированного значения з ! 14 ) до появления сигнала ь"зкь ! О) равна задержке, вносимой )5-ю вентилями ИЛИ. Найдите прием, который позволит сократить путь, приводящий к почти вдвое меньшей задержке, без затрат (или даже при сокращении затрат), выражаемых числом вентилей. Как можно продолжить применение этого приема для дальнейшего сокращения числа вентилей или числа входов у вентилей? 6 !З,Перепишите объявление обьекта Ьаг се116 в табл. 6.)7 и определение архитектуры в табл. 6.22 так, чтобы единственный бит, определяющий направление сдвига, был в явном виде доступен архитектуре. 6 ! 4. Перепишите определение архитектуры Ьагге 116 в табл.
6 22, используя структуру, показанную на рис. Хб.)4. Используйте имеющиеся объекты ВОЬ16 и Р)Х)3Р; вам остается придумать объект МАЙ)С и «дополнительную логику». оипзг)=~ оса(и о) а!го) с(г о) Рис. Х6.14. 6.!5.Напишите полуповеденческий или структурный варианты архитектуры йрепсг агсЬ из табл. 6.25, в результате синтеза которых возникал бы только один сумматор и не создавалось несколько ! О-разрядных компараторов при реализации вложенного оператора "з й'1 6. 16.
Повторите задачу 6. ! 5, включая структурное определение экономичной схемы округления, которая выполняет функцию коппс). В вашей схеме должно быть значительно меньше вентилей, чем в 4-разрядном сумматоре. 6. ! 7. Выполните заново разработку двойного приоритетного шифратора из раздела 6.3.3 на языке ЧН)3Ь так, чтобы устройство обладало лучшими характеристиками в результате реализации идей, изложенных в последнем абзаце этого раздела.
618 Глава 6. Примеры проектирования комбинационных схем 6,18, Напишите структурную ЧНР$ -архитектуру для 64-разрядного компаратора, которая была бы подобна архитектуре, приведенной в табл. 6.30, за исключением того, что результат сравнения в ней вырабатывается последовательно, начиная с самого младшего каскада и кончая самым старшим каскадом, 6.19. Какое существенное изменение произойдет в результате синтеза ЧНР1.- программы из табл. 6.31, если мы заменим действия, предусмотренные альтернативой'*нпеп огпегз" в операторе "сазе", на "пп11"? 6.20. Напишите поведенческие ЧНР1.-программы для компонентов АР Рейх, фи- гурнруюших в архитектуре из табл.
6.34. 6.21. Напишите структурные ЧНРР-программы для компонентов АРРЕЕх, фигурирующих в архитектуре из табл. 6.34. Воспользуйтесь объявлением общности так, чтобы можно было обращаться к одному и тому же объекту из сумматоров АРРЕП2, АРРЕй3 и АРРЕ п4, и укажите, какие изменения должны быть сделаны для этого в табл. 6.34. 6 22. Напишите струкгуриую ЧНР1;программу для компонента тнСЕ5 в табл. б 34, 6.23. Используя имеющиеся ЧНР1.-средства синтеза, синтезируйте устройство для игры в крестики и нолики из раздела 6.3,7, разместите его в подходящей ИС типа г РПА н посмотрите, сколько при этом расходуется внутренних ресурсов ИС. Затем попытайтесь сократить требуемый ресурс, задавая различные способы кодирования ходов в пакете ТТТйеТз.
6.24, Программа для игры в крестики и нолики, приведенная в разделе 6.3.7, в конце концов, проигрывает умному противнику, если состояние игрового поля оказывается таким, какое изображено на рис. Х6.24. Используйте моделируюшую ЧНР1.-программу, которой вы располагаете, чтобы убедиться, что это так. Затем видоизмените объект ЕТСК таким образом, чтобы побеждать в этой и в других подобных снзуациях, и проверьте правили- ность своего решения с помощью моделирующей программы.
Рис. Х6.24. Гл7вн / ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ ПОСЛЕДОВАТЕЛЬНОСТНЫХ ЛОГИЧЕСКИХ СХЕМ огические схемы подразделяются на два класса: «комбинационные» н «посг ледовательностныегг.Комбинационной является такая логическая схема, сигналы на выходах которой зависят только от текущих значений входных сигналов. Барабанный переключатель каналов у старых телевизоров подобен комбинационной схеме: номер выбранного канала, служащий его «выходом», определяется только текущим положением ручки переключателя.
Последоеапгельностная схема — зто такая логическая схема, выходные сигналы которой определяются не только текущими значениями входных сигналов, но зависят также от последовательности значений входных сигналов в прошлом, причем возможно, что эта зависимость простирается сколь угодно далеко назад. Переключатель каналов телевизора или видеомагнитофона, управляемый нажатием кнопок «вверх» и «вниз», является последовательностным устройством: выбор канала зависит от последовательности нажатий вверх/вниз, имевших место в прошлом, по крайней мере, с того момента, когда вы включили телевизор 10 часов назад, а, возможно, и с еше более давнего времени, когда вы впервые установили аппарату себя дома. Таким образом, неудобно, а часто невозможно, описать поведение последовательностной схемы таблицей, в которой выходные сигналы перечисляются как функции последовательности входных сигналов, принятой к настоящему моменту времени.
Чтобы знать, где вы окажетесь в следующий момент, нужно знать, где вы нахолитесь сейчас. Нельзя определить, какой канал в данное время выбран переключателем каналов в вашем телевизоре, основываясь только на предшествуюшей последовательности нажатий управляющих кнопок, независимо от того, сколько предыдуших нажатий вы учтете — 1О или 1000. Нужно знать больше, необходима иггформация о текущем «состоянии» переключателя каналов. Лучшим, по-видимому> определением «состояния» из всего, что мне довелось увидеть, является определение, данное Хеллерм алом 1НегЬек Не11еппап) вето кинге Принципь построения компьютерных систем (Пгигуа1 Сотри(ег о)гыет ртпсгр!ев. МсСггаггг-Н01, 1967): Состояние (»гаге) последовательностной схемы — это совокупность переменных состояния (»гаге»аггаЬ1ее), чьи значения в любой фиксированный 620 Глава 7.
Принципы проектирования последовательностных схем момент времени содержат всю информацию о прошлом, необходимую для того, чтобы объяснить поведение схемы в будущем. В примере с переключателем каналов текущий номер канала- это состояние переключателя в данный момент. Внутри телевизора это состояние может храниться в виде семи двоичных переменных состояния, представляющих десятичное число из интервала от 0 до 127. При заданном текущем состоянии (номер канала) мы всегда можем предсказать следующее состояние как функцию от входных воздействий (от нажатия кнопок переключения вверх или вниз).
В этом примере один непосредственно наблюдаемый выходной сигнал последовательностной схемы— высвечиваемый номер канала — является выражением самого состояния в закодированном виде. Другие выходные сигналы (внутри телевизора) могут быть комбинационными функциями только состояния (например, выбор поддиапазона настройки приемника; УНг, 1)Нг или кабельное телевидение), либо функциями состояния и входного воздействия (например, выключение телевизора, если текущее состояние переключателя каналов равно 0 и нажата клавиша «вниз»).
У переменных состояния может не быть прямого физического смысла. Как правило, существует много способов описания конкретной последовательностной схемы. Например, состояние переключателя каналов в телевизоре можно было бы представлять тремя двоично-десятичными цифрами илн 12 двоичными разрядами, не используя многие из 4096 возможных комбинаций битов.
У цифровой схемы, как мы увидим дальше в этой главе, переменные состояния имеют двоичные значения, соответствующие определенным логическим сигналам в этой схеме. Схема с и двоичными переменными состояния может находиться в одном из 2" состояний. Как бы велико нн было число 2", оно всегда конечно н никогда не принимает бесконечного значения, поэтому последовательностные схемы называют канвчнымн автоматами 111тгеыца!е тас1инев). В большинстве посл едовательностных схем изменение состояния происходит в моменты времени, задаваемые тактовым сигналам (с1осй) от независимого источника.
На рис. 7,! приведены временные диаграммы и терминология для типичных тактовых сигналов. Принято считать, что активным у тактового сигнала является высокий уровень, если состояние изменяется в момент, задаваемый нарастающим фронтом тактового сигнала, или тогда, когда тактовый сигнал имеет высокий уровень Н ~ОН; в противном случае говорят, что активным у тактового сигнала является низкий уровень. Периодом тактового сигнала (с1осА рег1оаг) называют отрезок времени между соседними переходами, совершаемыми сигналом в одном и том же направлении, а частотой тактового сигнала 1с!аск 1гвдиепсу) — величину, обратную периоду. Первый перепад или импульс в пределах периода, а иногда и сам период называются тактом системных часов (с1аск г1с1).
Выраженное в процентах относительное время, в течение которого тактовый сигнал имеет активный уровень, представляет собой коэффииивнт заполнения 1г1шу сус1в). Источником тактового сигнала в различных цифровых системах— от наручных часов до суперкомпьютеров — служит автономно работающий кварцевый генератор. Частота тактового сигнала колеблется в широком диапазоне— от 32.768 кГц (в наручных часах) до 500 МГц (в К18С-процессоре на основе КМОП-технологии с периодом 2 нс)' в «типичной» системе, состоящей из ТТЛ- и КМОП-схем, частота тактового сигнала имеет значение от 5 до 150 МГц.