DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Проектування друкованої плати
Група:
СКС-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; Діаграма симуляції: Висновок: з даної лабораторної роботи я оволодів методом множення числа на константу.
Антиботан аватар за замовчуванням

2015

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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