Провести описание (двумя способами) логической схемы с регулярными соединениями элементов и сравнить результаты моделирования.
С сумматором все понятно, но как описать умножитель?((
Двухразрядный умножитель vhdl
Двухразрядный умножитель vhdl
- Вложения
-
- 1.JPG
- фотка
- (51.67 КБ) 1034 скачивания
- Реклама
Re: Двухразрядный умножитель vhdl
Что, лекции не слушал?
i - номер бита множимого
j - номер бита множителя
Ni*Mj=0, если Ni или Mj равно 0
Ni*Mj=Ni*2^j, если Ni и Mj равны 1
Умножение на 2^j это, фактически, сдвиг, т.е. можно свести к одно битовым сумматорам со сдвигом, подобно обычному умножению в столбик.
Для множителей больших размеров есть хитрости. Посмотреть можно, например, тут. И вообще, поисковики рулят.
Банзай! Дерзай!
i - номер бита множимого
j - номер бита множителя
Ni*Mj=0, если Ni или Mj равно 0
Ni*Mj=Ni*2^j, если Ni и Mj равны 1
Умножение на 2^j это, фактически, сдвиг, т.е. можно свести к одно битовым сумматорам со сдвигом, подобно обычному умножению в столбик.
Код: Выделить всё
11001001b
* 101b
------------
11001001b
+ 00000000 b
+ 11001001 b
------------
1111101101b
Банзай! Дерзай!
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Двухразрядный умножитель vhdl
Как раз таки это до меня дошло (вот только применять уж извините мозговю.net), я начеркал такой код, но правильно ли я в begin все сделал?
Код: Выделить всё
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity mult2 is
Port ( a1 : in STD_LOGIC;
a2 : in STD_LOGIC;
sx : in STD_LOGIC;
p1 : out STD_LOGIC;
p2 : out STD_LOGIC);
end mult2;
architecture Behavioral of mult2 is
COMPONENT add1
PORT(
a : IN std_logic;
b : IN std_logic;
s : OUT std_logic;
c : OUT std_logic
);
END COMPONENT;
signal s1,s2 : std_logic;
begin
p1 <= a1 and sx;
s1 <= a1 and a2;
s2 <= a2 and sx;
o1: add1 port map (s1,p2,s2);
o2: add1 port map (s2);
end Behavioral;
Последний раз редактировалось SKyzZz Ср окт 09, 2013 15:24:20, всего редактировалось 1 раз.
Re: Двухразрядный умножитель vhdl
Цитировать предыдущее сообщение, да ещё полностью, это нарушение правил этого форума (если мне не изменяет память). Уберите цитату, а то от модераторов ещё оплеуху получите. 
С синтаксисом VHDL я вам не помогу, давно это было, как говориться.
И, как вы наверное уже догадались, поисковики снова рулят!
http://yandex.ru/yandsearch?text=vhdl+m ... 9644&lr=67
http://www.csee.umbc.edu/portal/help/VH ... html#mul32
Я бы на вашем месте пару тройку страниц поискового ответа просмотрел бы...
Вы не первый с таким вопросом, и вы далеко не одиноки...
С синтаксисом VHDL я вам не помогу, давно это было, как говориться.
И, как вы наверное уже догадались, поисковики снова рулят!
http://yandex.ru/yandsearch?text=vhdl+m ... 9644&lr=67
http://www.csee.umbc.edu/portal/help/VH ... html#mul32
Я бы на вашем месте пару тройку страниц поискового ответа просмотрел бы...
Вы не первый с таким вопросом, и вы далеко не одиноки...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Двухразрядный умножитель vhdl
Да не там искал скорее всего, спасибо, просто мне по большому счастью это не нужно, потому, мне гораздо интересно ковыряться в ассемблере например...не мое это явно)
- Реклама
- da-nie
- Говорящий с текстолитом
- Сообщения: 1590
- Зарегистрирован: Вс июн 24, 2012 16:07:00
- Откуда: Лен.Обл.
- Контактная информация:
Re: Двухразрядный умножитель vhdl
А есть ещё однотактные умножители...
http://paralichka85.px6.ru/5cpu/glava05_11.htm
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


