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

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

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

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

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

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

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Звіт з лабораторної роботи №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:17

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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