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

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

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

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

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Проектування друкованої плати
Група:
СКС-1

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №1 на тему: „Перемножувач на константу” Підготував: ст. гр. СКС-1 Львів 2007 Мета роботи: оволодіти швидким алгоритмом множення на константу, та реалізувати програму в пакеті A-VHDL. Завдання: перемножити два 16-ти розрядних числа, одне з яких константа і рівне, згідно варіанту – 5F92 . Алгоритм множення: множення відбувається за допомогою логічного зсуву вхідного операнда. Число 5F9216 рівне − 0101 1111 1001 0010 2 , підрахуємо кількість одиничок, їх 9 , отже наш вхідний операнд повинен бути зсунутий 9 раз, і результат після кожного зсуву повинен додаватися. Зсув відбувається в 32 – х розрядній сітці. Наш операнд розміщується в 16 мол. розрядах, і кожен зсув виконується на стільки розрядів, на якій позиції стоїть «1» в константі, починаючи з молодших розрядів. Далі виконуємо суму проміжних 32 – х розрядних результатів (їх є 9), результат суми і буде наше перемножене число. Програмна реалізація: library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_unsigned.all; entity mult is port( A : in std_logic_vector(15 downto 0); B : out std_logic_vector(31 downto 0) ); end mult; -- constant 5f92 architecture mult of mult is signal a1, a2, a3, a4, a5, a6, a7, a8, a9: std_logic_vector(31 downto 0); begin a1 <= "000000000000000" & A & '0'; a2 <= "000000000000" & A & "0000"; a3 <= "000000000" & A & "0000000"; a4 <= "00000000" & A & "00000000"; a5 <= "0000000" & A & "000000000"; a6 <= "000000" & A & "0000000000"; a7 <= "00000" & A & "00000000000"; a8 <= "0000" & A & "000000000000"; a9 <= "00" & A & "00000000000000"; B <= a1+a2+a3+a4+a5+a6+a7+a8+a9; end mult; Діаграма симуляції: Висновок: з даної лабораторної роботи я оволодів методом множення числа на константу.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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