Сумматор-вычитатель

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

надо разработать такую схему:
Сумматор-вычитатель. Разрядность чисел - 16. Код поступающих чисел - прямой. Результат представить в последовательном коде.

помогите, плиз, кто может :))
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Схему сумматора наверное найдете.
Вычитание сводится к сумме с инвертированным значением вычитаемого, увеличеном на 1.
Пример надо из 1111 вычесть 1010 (из 15 вычесть 10)
После инверсии вычитаемого (10) получаем 0101. Увеличиваем на 1 - 0110
Далее 1111+0110 = 10101. Т.к. старший бит вышел за разрядную сетку остается только 0101.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

это, как раз, более-менее понятно. непонятно вот что: результат будет тоже в прямом коде. а надо представить в последовательном. как это сделать?
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Сдвиговыми регистрами или мультиплексором со счетчиком.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

нашел 8-и разрядный параллельно-последовательный регистр 1564ИР9
если такой подойдет для реализации, то где можно найти функциональную схему этого регистра?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Вот структурная схема регистра ИР9
Изображение
Таких надо будет 2 регистра
Вложения
IR9.JPG
(44.73 КБ) 2711 скачиваний
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Реклама
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

нарисовал схемку, вроде как правильно... только вот не знаю, как выходы регистров объединить так, чтоб сначала первый (нижний) выдавал информацию, а затем верхний
Untitled-1.jpg
(229.63 КБ) 684 скачивания
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

С выхода "Q", подаете на вход "S1"
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

это не S1, a SI (Serial Input), т.е. получается, что у регистра вход SI обладает более высоким приоритетом, чем вход PI (т.е. если на регистр одновременно подавать данные на параллельный и последовательный входы, сначала будут выведены те данные, которые были поданы на последовательный вход?)
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

Meteor писал(а):Вычитание сводится к сумме с инвертированным значением вычитаемого, увеличеном на 1.
Инвертирование видно. А где в схеме увеличение на 1?
Den1986 писал(а):SI (Serial Input) вход PI
Здесь нет приоритета. Вход РЕ определяет с чем работать. С входами параллельного ввода или с данными, поступающими с входа SI.
Docendo discimus
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Вот описание регистра
Инвертирование видно. А где в схеме увеличение на 1?
У автора вход переноса (нижнего сумматора) болтается в воздухе - получается логическая 1, за счет самообеспечения, что не есть хорошо.
Вложения
IR9_1.JPG
(80.16 КБ) 635 скачиваний
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

Meteor писал(а): У автора вход переноса (нижнего сумматора) болтается в воздухе - получается логическая 1, за счет самообеспечения, что не есть хорошо.
Вход переноса нижнего сумматора я соединил с выходом переноса верхнего сумматора
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

pyzh_man писал(а):Здесь нет приоритета. Вход РЕ определяет с чем работать. С входами параллельного ввода или с данными, поступающими с входа SI.
т.е. для того, чтоб все это работало, надо на вход PE верхнего регистра в течение 8 тактов подавать "1", и в течение 8 последующих тактов подавать "0". для реализации этого надо ставить счетчик, или есть другие варианты?
Последний раз редактировалось Den1986 Ср апр 06, 2011 09:58:19, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

По поводу "где увеличение на 1". Так и не увидел. Y должен инвертироваться и к результату +1. Инверсия на "искл или" есть, +1 нету.
По поводу РЕ. На входы сдв. регистров поступила сумма(разность). Ее нужно зписать в регистры в парал. виде. Для этого РЕ ставим в "0". Далее его переводим в "1" для того, чтобы начать двигать. И подаем 16 импульсов на С. С Q снимаем посл. код.
Кстати, посмотрите соответствие разрядов входных чисел. Напр. Y0/Х0 куда придет? А Y15/X15?
Docendo discimus
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Пн ноя 29, 2010 23:32:46

Сообщение Den1986 »

чтоб нижний регистр записал данные по параллельному входу в верхний, на вход С надо подать 8 импульсов, на входе PE верхнего в это время должен быть 0, и при этом на вход С верхнего также должны подаваться импульсы, чтоб входные данные на S1 сразу выводились. через 8 импульсов на вход PE подаем 1, а на вход С продолжаем подавать еще 8 импульсов, чтоб вывести данные с D0..D7.
правильно?
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Ну почему Вы упорно желаете записывать параллельные данные 8 раз?
Достаточно подать 1 импульс для записи, а затем подать 8 импульсов для сдвига внутри регистра.
Для всего устройства понадобится 17 тактовых импульсов
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Контактная информация:
Ответить

Вернуться в «Теория»