Перейти к содержанию
    

сумматор по модулю 2^32

Помогите, в WEBPack ISE наверно есть реализован такой сумматор? Мне нужно просуммировать два числа :help:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовые сумматоры есть только на 2^8, для более больших либо делать в coregen, либо несколько строчки на языке:

 

асинхронный:

entity summ is
    Port ( a : in  STD_LOGIC_VECTOR (31 downto 0);
           b : in  STD_LOGIC_VECTOR (31 downto 0);
              c : out STD_LOGIC_VECTOR (63 downto 0));
end summ;

architecture Behavioral of summ is

begin

c<=a+b;

end Behavioral;

 

синхронный:

 

entity summ is
    Port ( a : in  STD_LOGIC_VECTOR (31 downto 0);
           b : in  STD_LOGIC_VECTOR (31 downto 0);
              clk : in  STD_LOGIC;
              c : out STD_LOGIC_VECTOR (63 downto 0));
end summ;

architecture Behavioral of summ is

begin
process (clk)
begin
if rising_edge(clk) then
c<=a+b;
end if;
end process;
end Behavioral;

 

Если требуются входные/выходные переносы, сбросы/установка и т.д. то либо в coregen,либо в language templates.

Изменено пользователем Rendom

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовые сумматоры есть только на 2^8, для более больших либо делать в coregen, либо несколько строчки на языке:

 

асинхронный:

entity summ is
    Port ( a : in  STD_LOGIC_VECTOR (31 downto 0);
           b : in  STD_LOGIC_VECTOR (31 downto 0);
              c : out STD_LOGIC_VECTOR (63 downto 0));

 

Все хорошо, но по-мойму для c хватит (32 downto 0) ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все хорошо, но по-мойму для c хватит (32 downto 0) ;-)

А вот и нет, для c хватит (31 downto 0)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот и нет, для c хватит (31 downto 0)

 

А все-таки 32 downto 0, иначе куда будет перенос деваться?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про перенос в исходном посте ничего не было, если нужен, то да, (32 downto 0).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сорри, с разрядностью выхода ошибся (написал как для перемножителя), а в общем случае что бы не было потерь из-за переполнения нужна конечно (32 downto 0)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему? Может и нужен)
может я чего-то не понимаю, но на результат суммирования по модулю 2^32 32-й разряд (перенос) не влияет... разве что он нужен еще для каких-то целей ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

может я чего-то не понимаю, но на результат суммирования по модулю 2^32 32-й разряд (перенос) не влияет... разве что он нужен еще для каких-то целей ))

Разве не влияет? Например 0х80 + 0х80 = 0х100, судя по вашему 0х00

это что 0+0 или все таки что-то другое?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разве не влияет? Например 0х80 + 0х80 = 0х100, судя по вашему 0х00

это что 0+0 или все таки что-то другое?

Ну в названии темы писали же не просто про суммирование, а про суммирование по модулю 2^32.

В Вашем примере, если суммировать по модулю 2^2, то в результате будет 0. В случае суммирования по модулю 2^32 отбрасывается 32-й разряд(если разряды считать с нуля).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну в названии темы писали же не просто про суммирование, а про суммирование по модулю 2^32.

В Вашем примере, если суммировать по модулю 2^2, то в результате будет 0. В случае суммирования по модулю 2^32 отбрасывается 32-й разряд(если разряды считать с нуля).

странная арифметика, я думал сумирую по модулю 2^8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...