Главная » Просмотр файлов » Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002)

Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 129

Файл №1095889 Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002)) 129 страницаДжон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889) страница 1292018-12-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 129)

Однако внутри АЛУ микропроцессора эта операция должна выполняться быстрее. В идеале мы бы хотели, чтобы подсчет числа единиц происходил так же быстро, как любое другое арифметическое действие типа сложения двух чисел. Поэтому требуется комбинационная схема.

Предположим в этом примере, что нам требуется создать счетчик числа единиц в 32-разрядном слове как часть более крупной системы. Очевидно, что необходимое число входов и выходов не позволяет нам разьгестить счетчик в одном ПЛУ типа 22Ч10, но мы могли бы разбить устройство на отдельные компоненты для размещения в относительно небольшом числе ПЛУ.

На рис. 6.10 показано такое разбиение. С помощью двух первых идентичных ИС 22Ч10 О[чЕЗС[ЧТ1 осуществляется счет числа единиц в двух 15-разрядных отрезках 32-разрядного входного слова 0[31:О[ с выдачей каждой нз них результата в виде 4-разрядного числа. Следующая ИС 22Ч!0 01»ЕЗС[чТ2 используется для сложения двух полученных 4-разрядных чисел и числа единиц в оставшихся 2-х разрядах входного слова. 0[31:01 811м[4:01 Рис. 6.10. Возможное разбиение схемы счетчика единиц на отдельные компоненты Программа для 01ч ЕВС[чТ1, приведенная в табл. 6.12, обманчиво проста. Операнд "0 Сйкну 1" включен для ОГРаничения цепочки переносов одним разрядом; как объяснялось в разделе 5.10 8, это уменьшает число термов-произведений за счет появления вспомогательных выходов и увеличения задержки.

б 2. Примеры проектирования схем с использованием языка АВЕЬ 579 табл. 5.12. Программа на языке АВЕ1. для подсчета числа разРядов, содер- ;«ащих 1, в 15-разрядном слове яобп1в опввспс1 с1с1е 'Сопле спе опав зп а 15-п11 яокп' ОМЕЯСНТ1 сГет1св 'Р22т'10'; " 1прпс апб опсрпе р1па 014..00 рзп 1..11, 13..16, 23; ЯОМЗ..ЯОМО ркп 17 20 1аеуре 'сое' еопас1опз ЕСАННТ 1; 1ЯОМЯ .ЯОМП1 = 00 + 01 + 02 + 03 + 04 + 05 + 05 + 07 + 08 + 09 + 010 + 011 + 012 + 013 + 0141 епц опввспз1 К сожалению, при компиляции этой программы мой компьютер из-за ограниченных возможностей процессора в течение часа не выдавал никаких результатов. Это дало мне время воспользоваться своей головой — хорошее упражнение для тех из нас, кто стал слишком зависимым от автоматизированных средств проектирования.

Тогда я понял, что для выхода ЯОМС могу записать логическую функцию вручную всего лишь за несколько секунд: 811МО= ПО Э 01 9 02® 03 от 04®05® 06 ЭП7® ... Ю 013®014. Карта Карно для этой функции выглядит как шахматная доска, и минимальное выражение в виде суммы произведений содержит 2'4 термов-цроизведений. Очевидно, что это невозможно реализовать за один или несколько проходов через ИС 22Ч!0! Так или иначе, я прекратил процесс компиляции и перезагрузил 1Ч1пдозтз на тот случай, если компилятор что-то испортил.

Понятно, что для создания схемы, подсчитывающей число единиц, требуется разделение на небольшие блоки. Хотя мы могли бы и дальше продолжить пользоваться языком АВЕЬ в расчете на реализацию в нескольких ПЛУ, но интереснее выполнить структурное проектирование такого устройства, пользуясь средствами ЧНПЬ, как это и будет сделано в разделе 6.Ь.6, а вариант с языком АВЕЬ и микросхемами ПЛУ пусть останется в качестве задачи 6.6. 6.2.7. Игра в крестики и нолики В этом примере мы построим комбинационную схему, которая выбирает очеРедной ход в игре в крестики и нолики. Прежде всею нужно решить, какой будет стратегия выбора очередного хода.

давайте попробуем подражать типичной стратегии человека, который принимает решения по шагам: Ищем строку, столбец или диагональ, где имеются две наши метки (Х или 0 в зависимости от того, на чьей мы стороне) и одна пустая клетка. Если такая ситуация обнаруживается, то помещаем свою метку в эту пустую клетку.

Мы победили! б80 Глава б. Примеры проектирования комбинационных схем ПРАВИЛА ИГРЫ В КРЕСТИКИ И НОЛИКИ (НА СЛУЧАЙ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ) Игра в крестики и нолики ведется двумя игроками на поле, разбитом на клетки, по 3 клетки в каждой строке и в каждом столбце. Первоначально клетки пустые. Один игрок выбирает себе в качестве метки крестик Х, а другой — нолик О. Игроки поочередно ставят свои метки в одной из пустых клеток; игрок Х всегда начинает первым. Победителем считается тот, кто первым заполнит своими метками три клетки подряд в строке, в столбце или по диагонали.

Хотя у игрока Х, начинающего игру, есть небольшое преимущество, можно показать, что игра между двумя сообразительными игроками всегда заканчивается вничью: ни один игрок не поставит три метки подряд к моменту, когда поле заполнится. 2. Ищем строку, столбец или диагональ, где имеются две метки противника и одна пустая клетка. Если такая ситуация обнаруживается,'то помещаем свою метку в эту пустую клетку, чтобы блокировать возможный выигрыш противника.

3. Выбираем клетку, руководствуясь своим опытом. Например, если центральная клетка пустая, то обычно стоит заполнить ее. В противном случае полезно заполнять угловые клетки. Умный игрок может заметить также и блокировать развитие конфигурации противником или выбрать хороший ход благодаря «предвиденитот>.

1 3 стоааач Рис. 6.11. Поле для игры в крестики и нолики и имена сигналов в программе на языке АВЕЕ строка Заранее предвидя путаницу между символом О и нулем 0 в наших программах, мы, во избежание неприятностей, назовем второго игрока буквой у. далее, нужно подумать о том, как следует кодировать входные и выходные сигналы в разрабатываемой схеме. У каждого игрока существует только девять возможных ходов, поэтому для представления выходных сигналов достаточно четырех двоичных разрядов.

Входными сигналами схемы служит текущее состояние игрового поля. Каждая из девяти клеток, может находиться в одном из трех со- стояний (пустая, заполненная меткой Х, заполненная меткой у), Можно различными способами отобразить состояние одной клетки. Поскольку игра симметрична, выберем симметричное представление, которое поможет нам в дальнейшем: б 2.

Примеры проектирования схем с использованием языка АВН. 581 КОМПАКТНОЕ КОДИРОВАНИЕ Так как каждая клетка в этой игре может находиться только в одном нз трех состояний, а не из четырех, общее число игровых конфигураций составляет 3 = 19683. Это число меньше, чем 2, поэтому состояние' поля можно и кодировать всего 15-ю разрядами. Однако в этом случае схема, выбирающая очередной ход, была бы слишком сложной, если только функции такой схемы не поручить ПЗУ (см. задачу 10.26). 00 — клетка пуста; 10 — клетка занята меткой Х; 01- клетка занята меткой у.

Рис. б.12. Предварительное разбиение на блоки схемы для реализации игры в крестики и нолики моче!3 О! твом пав х1!.хзз тн-тзз Таким образом, состояние поля размером ЗхЗ можно кодировать 18-ю битами. Будем обозначать клетки двумя числами, указывая номер строки и номер столбца, как это сделано на рис.

6.11, а в программе на языке АВЬЬ будем использовать символы Хз 3 и уз 3 при наличии метки Х или у в клетке з, 3. Кодирование выходных сигналов давайте рассмотрим позже. Схема с! 8 входами и 4 выходами, играющая в крестики и нолики, могла бы, в принципе, разместиться в одной ИС 22Ч ! О. Однако опыт показывает, что этого сделать нельзя.

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

ПЛУ, которое находит две мои метки подряд и пустую клетку для победного хода (шаг 1), может найти также две метки моего противника подряд и пустую клетку для выполнения блокирующего хода (шаг 2). Все, что нам надо сделать, — это переставить коды меток Х и У, При выбранном нами способе кодирования, не требующем никакой логики, достаточно во всех клетках физически поменять местами сигналы Хз3 и уз3. С учетом этого для выполнения шагов 1 и 2 можно воспользоваться двумя одинаковыми ПЛУ ТтЧО!!!!!Отт', как показано парис.

6.12. Обратите внимание, что сигналы хауз-х3 3 поданы на верхние входы первого ПЛу ТтЧОйч!ЗО)Л/ и на нижние входы второго ПЛУ. 582 Глава 6. Примеры проектирования комбинационных схем Сигналы с выходов двух ПЛУ ТЧЧЮМЧРОЧЧ пусть поступают на входы еще одного ПЛУ Р! СК. Если хотя бы одним нх двух первых ПЛУ найден ход, то блоком Р!СК он передается на выход; в противном случае этим устройством выполняется шаг Э. Похоже, что у блока Р!СК слишком много входов и выходов и его нельзя реализовать в ИС 22Ч!0, но мы вернемся к этому позже.

В табл. 6. ! 3 представлена программа для ПЛУ ТИЮ!МРОЧЧ. В ней анализируется состояние игрового поля с точки зрения игрока Х; другими словами, ищется ход, при котором метка Х будет занимать трн идущие подряд клетки. В этой программе активно используются промежуточные равенства для определения всех возможных ходов по строкам, столбцам и диагоналям. В выражении для С[з объединяются все условия, при которых ход в клетку 1, з (ее заполнение меткой Х) будет правильным ходом. Наконец, в разделе ес!оагзопз с помо!цью оператора МНЕМ выбирается нужный ход. Табл.

б.1З. Программа иа языке АВЕ( дяя нзхохщпиия двух меток подряд при игре п креовпки и нолеги еоаи1е Сяо1пгоя Т1с1е 'Р1пй Тяо Хв апй аи еврсу се11 Хп а гоя, со1иши, ог п1абоиа1' Т701МДОЧ аетйсе 'Р22710'; 1приив епа Патриса Х11, Х12, Х13, Х21, Х22, Х23, ХЭ1, Х32, ХЭЗ рйп 1,.9; 711, 712, 713, 721, 722, 723, 731, 732, ЧЗЗ р1п 10,11,13..16,20..23; МОЧЕЗ..МОЧЕО рйп 16..19 1вяуре 'сов'; " М07Е еигрие епсой1ибв МОЧЕ [МОЧЕЗ..МПЧЕ02! МОЧЕ11 [1,0,0,03! МОЧЕ12 [0,1 0 0)! М07Е21 [0.0.0,13; МПЧЕ22 [1,1,0,03; МП7ЕЗ1 [1,0.1,1]; МОЧЕ32 [1,1,0,11; МПМЕ = [0,0,0,02; МОЧЕ13 [0,0,1.02; МОЧЕ23 [0,1,1,11; МП7ЕЗЗ [1, 1, 1,03 ! " Рйид потев Хи Р11 Х12 й Х13 312 = Х!1 й Х13 Р13 Х11 й Х12 Е21 = Х22 й Х23 322 Х21 й Х23 323 Х21 й Х22 ЕЭ1 ХЗ2 й ХЭЗ Е32 ХЗ1 й ХЗЭ ЕЗЭ Х31 й Х32 Еху => а ноте ех1егв 1п се11 ху й !711! й !712; й !713! й !721; й !722! й !723; й !731; й !732! й !733; со1иепв.

й !Х11 й й !Х12 й й !Х13 й й !Х21 й й !Х22 й й !Х23 й й !Х31 й " Р1по потев Хп С11 Х21 й Х31 С12 = Х22 й ХЗ2 С13 Х23 й ХЗЭ С21 Х11 й Х31 С22 = Х12 й Х32 С2Э Х13 й ХЭЗ С31 = Х11 й Х21 гоев. й !Х11 й !Х12 й !Х13 й !Х21 й !Х22 й !Х2Э й !ХЗ1 й !Х32 й !ХЗЭ Сху > а поте ех1асв 1п се11 ху !711; !712; !713; !721; !722; !723; !731; б 2.

Примеры проектирования схем с использованием языка АВЕь 583 Табл. 6.13. Программа на языке АВЕК для нахождения двух меток подряд при игре в крестики и нолики (продолжение) СЗ2 Х12 й Х22 й !Х32 й !У32; СЗЗ - Х1З й Х2З й !ХЗЗ й !УЗЗ; Ч1па потев тп 011 = Х22 й ХЗЗ 022 = Х11 й ХЗЗ 033 Х11 й Х22 Е13 = Х22 й Х31 Е22 = Х13 й Х31 ЕЗ1 = Х13 й Х22 Сху ==> а аотв еххвск 1п се11 ху ес)па11опа МНЕМ С22 ТНЕМ МОЧЕ-" МРЧЕ22; ЕЬЯЕ МНЕМ С11 ТНЕМ МОЧЕ МОЧЕ11; ЕЬЯЕ МНЕМ С13 ТНЕМ МОЧЕ МОЧЕ13; ЕЕЯЕ МНЕМ С31 ТНЕМ МОЧЕ " МОЧЕЗ1!' ЕьБЕ МНЕМ СЗЗ ТНЕМ МОЧЕ МОЧЕЗЗ; ЕЕЯЕ МНЕМ С12 ТНЕМ МОЧЕ МОЧЕ12; Е1.БЕ МНЕМ С21 ТНЕМ МОЧЕ = МОЧЕ21; НАБЕ МНЕМ С23 ТНЕМ МОЧЕ = МОЧЕ23„ Е)-БЕ МНЕМ СЗ2 ТНЕМ МОЧЕ МОЧЕ32; Е1.ЯЕ МОЧЕ МОНЕ; еп4 Сяойпгоя Обратите внимание, что необходимо использовать еложеннь!й оператор МНЕМ, а не девять параллельных операторов НН ЕМ или присваиваний, поскольку выбрать нужно только один ход, даже если имеется несколько возможностей. Заметьте также, что первой проверяется центральная клетка 622, а потом — угловые клетки.

Характеристики

Тип файла
DJVU-файл
Размер
11,16 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6461
Авторов
на СтудИзбе
304
Средний доход
с одного платного файла
Обучение Подробнее