[an error occurred while processing this directive]
поможите с сумматором...
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено S1nfuL 18 апреля 2005 г. 02:52

есть шесть входов, три выхода.
надо посчитать количество единиц на входах и передать число единиц на выход.
самое аппаратурно компактное, что у меня получилось, это вот такое на комбинационной логике:)

Y1 <= ((X1 xor X2) xor (X3 xor X4)) XOR (X6 xor X5);
Y2 <= ( ( (X1 xor X2) Xor (X3 xor X4) ) ANd (X5 xor X6) ) XOR ( ((X1 xor X2) And (X3 xor X4)) XOr ( ((X1 and X2) Xor (X3 and X4)) Xor (X5 and X6) ) );
Y3 <= (( ( (X1 xor X2) Xor (X3 xor X4) ) ANd (X5 xor X6) ) ANd ( ((X1 xor X2) And (X3 xor X4)) XOr ( ((X1 and X2) Xor (X3 and X4)) Xor (X5 and X6) ) )) or (((X1 xor X2) And (X3 xor X4)) ANd ( ((X1 and X2) Xor (X3 and X4)) Xor (X5 and X6) )) or ((((X1 and X2) Xor (X3 and X4)) and (X5 and X6) )) or ((X1 and X2) and (X3 and X4));

было придумано в виде схемы, а потом списано со схемы на vhdl, поэтому получилось так страшно и геморно.

написать что-нибудь более-менее элегантное не удалось
что-нибудь типа sum <= sum + x(0) + x(1) + x(2) + x(3) + x(4) + x(5); не заработало. а то, что заработало, при синтезе раздувалось до огроменных размеров.

надеюсь на совет старших коллег)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru