| TTL и CMOS логика Цифровая схемотехника на логических микросхемах. Счетчики, сдвиговые регистры, простая логика... |
Собрать АЛУ
18.10.2015, 13:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,548
Сказал спасибо: 5,035
Сказали Спасибо 10,606 раз(а) в 3,594 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от pambaru
|
|
Просто добавляется один нулевой младший разряд.
|
Куда? В пустоту? У конкретного регистра всего один нулевой разряд. И что, добавить еще один?
Без схемы сдвига все равно не обойтись в операции деления.
|
|
|
|
18.10.2015, 13:26
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.01.2007
Сообщений: 3,116
Сказал спасибо: 61
Сказали Спасибо 1,151 раз(а) в 623 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от pambaru
|
|
Зачем ту схема сдвига? Число C умножается на константу - на 2. Просто добавляется один нулевой младший разряд.
|
Поделитесь, если не секрет, а как это выглядит на схеме железяки.
|
|
|
|
18.10.2015, 13:38
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,398
Сказал спасибо: 85
Сказали Спасибо 678 раз(а) в 396 сообщении(ях)
|
Re: Собрать АЛУ
Это выглядит как провод, замкнутый на GND 
Схему рисовать влом.
А если, к примеру, на верилоге, то так (просто пример):
|
PHP код:
|
//Result=A+B+C+C+D
wire [3:0] A,B,C,D;
wire [4:0] Cx2;
wire [7:0] result;
assign Cx2={C, 1'b0};
assign Result={4'h0, A}+{4'h0, B}+{3'h0, Cx2}+{4'h0, D};
|
P.S. Конечно можно назвать assign Cx2={C, 1'b0}; схемой сдвига.
Но я склоняюсь все же к тому, что схемой сдвига можно назвать тактируемую схему, типа
regC‹={regС[2:0],1'b0};
А здесь все же "жесткое добавление" нуля справа. На схеме выглядит как добавление проводника на GND.
Последний раз редактировалось pambaru; 18.10.2015 в 13:43.
|
|
|
|
18.10.2015, 13:38
|
|
|
Временная регистрация
Регистрация: 18.10.2015
Сообщений: 60
Сказал спасибо: 63
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от Alex9797
|
|
Это меняет дело. Тогда можно преподу отнести и ту схему, что в первом посту. А на его вопрос - "что это?", ответить - "Не знаю. Такое решение".
|
Шутку юмора оценил
Ребят, распишете по пунктам как спроектировать деление, пожалуйста.
|
|
|
|
18.10.2015, 13:46
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.01.2007
Сообщений: 3,116
Сказал спасибо: 61
Сказали Спасибо 1,151 раз(а) в 623 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от pambaru
|
|
А если, к примеру, на верилоге, то так (просто пример):
|
А это не схема  , это описание.
|
|
|
|
18.10.2015, 13:57
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,398
Сказал спасибо: 85
Сказали Спасибо 678 раз(а) в 396 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от avp94
|
|
А это не схема , это описание.
|
Любую цифровую схему можно описать на верилоге.
Ну и обратно, в некоторых случаях, также.
В данном случае, assign Cx2={C, 1'b0}; - в чистом виде схема - соединение проводников.
Суммирование - тут уже идут логические элементы.
|
|
|
|
18.10.2015, 14:13
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 26.01.2007
Сообщений: 3,116
Сказал спасибо: 61
Сказали Спасибо 1,151 раз(а) в 623 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от pambaru
|
|
Любую цифровую схему можно описать на верилоге.
|
ТС надо нарисовать, а описание работы, только на более высоком уровне, дал преподаватель.
|
|
|
|
18.10.2015, 14:17
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,398
Сказал спасибо: 85
Сказали Спасибо 678 раз(а) в 396 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от Andrey_AHAHAC
|
|
Ребят, распишете по пунктам как спроектировать деление, пожалуйста.
|
Простой схемы тут однозначно не получится.
Либо это будет какая-то тактируемая схема, реализующая примерно такой алгоритм:
1. Выставляем делимой и делитель
2. Подаем строб "старт", защелкиваем в регистр R1 делимое, регистр результат Res обнуляем.
3. По каждому такту вычитаем из регистра R1 делитель, до тех пор, пока содержимое R1 не станет меньше делителя, на каждом такте инкрементируя регистр Res.
Как только R1 стал меньше делителя переходим к п.4
4. Выдаем на выход сигнал готовности и регистр Res.
Т.е., получаем конечный автомат, схема будет непростая.
Более простой вариант - прошитое ПЗУ с кол-вом адресных входов равным сумме разрядов делимого и делителя.
Схема в этом случае простейшая асинхронная (без тактирования).
|
|
|
|
Сказали "Спасибо" pambaru
|
|
|
18.10.2015, 14:27
|
|
|
Временная регистрация
Регистрация: 18.10.2015
Сообщений: 60
Сказал спасибо: 63
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Собрать АЛУ
Сообщение от pambaru
|
Простой схемы тут однозначно не получится.
Либо это будет какая-то тактируемая схема, реализующая примерно такой алгоритм:
1. Выставляем делимой и делитель
2. Подаем строб "старт", защелкиваем в регистр R1 делимое, регистр результат Res обнуляем.
3. По каждому такту вычитаем из регистра R1 делитель, до тех пор, пока содержимое R1 не станет меньше делителя, на каждом такте инкрементируя регистр Res.
Как только R1 стал меньше делителя переходим к п.4
4. Выдаем на выход сигнал готовности и регистр Res.
Т.е., получаем конечный автомат, схема будет непростая.
Более простой вариант - прошитое ПЗУ с кол-вом адресных входов равным сумме разрядов делимого и делителя.
Схема в этом случае простейшая асинхронная (без тактирования).
|
Звучит все устрашающе непонятно.
|
|
|
|
18.10.2015, 14:27
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 24.03.2007
Сообщений: 1,398
Сказал спасибо: 85
Сказали Спасибо 678 раз(а) в 396 сообщении(ях)
|
Re: Собрать АЛУ
Если все же нужно асинхронно, на логике, без ПЗУ, то расписать все состояния вход-выход в таблице, минимизировать по картам Карно, к примеру (Гугл в помощь), и нарисовать результат на логике на формате листа А0
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:20.
|
|