Перемножувач на константу

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші
Група:
СКС

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №1 на тему: „Перемножувач на константу” Підготував: ст. гр. СКС-12 Грицай Р. М. Прийняла: Ногаль М. В. Львів 2007 Мета роботи: оволодіти швидким алгоритмом множення на константу, та реалізувати програму в пакеті A-VHDL. Завдання: перемножити два 16-ти розрядних числа, одне з яких константа і рівне, згідно варіанту – 6F10 . Алгоритм множення: множення відбувається за допомогою логічного зсуву вхідного операнда. Число 6f1016 рівне − 0110 1111 0001 0000 2 , підрахуємо кількість одиничок, їх 7 , отже наш вхідний операнд повинен бути зсунутий 7 раз, і результат після кожного зсуву повинен додаватися. Зсув відбувається в 32 – х розрядній сітці. Наш операнд розміщується в 16 мол. розрядах, і кожен зсув виконується на стільки розрядів, на якій позиції стоїть «1» в константі, починаючи з молодших розрядів. Далі виконуємо суму проміжних 32 – х розрядних результатів (їх є 7), результат суми і буде наше перемножене число. Програмна реалізація: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity object1 is port( A: in std_logic_vector(15 downto 0); B: out std_logic_vector(31 downto 0) ); end object1; -- 0110111100010000 architecture object1 of object1 is signal a1,a2,a3,a4,a5,a6,a7: std_logic_vector(31 downto 0); begin a1<="000000000000" & A & "0000"; a2<="00000000" & A & "00000000"; a3<="0000000" & A & "000000000"; a4<="000000" & A & "0000000000"; a5<="00000" & A & "00000000000"; a6<="000" & A & "0000000000000"; a7<="00" & A & "00000000000000"; B<=a1+a2+a3+a4+a5+a6+a7; end object1; Діаграма симуляції:  Висновок: з даної лабораторної роботи я оволодів методом множення числа на константу.
Антиботан аватар за замовчуванням

13.02.2013 14:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!