DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи № 3: Розробка спеціалізованого перемножувача. Частина 2

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

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

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

Рік:
2026
Тип роботи:
Звіт
Предмет:
Основи проектування цифрових засобів на ПЛІС
Група:
КН-1
Коротко про документ

Про що ця робота

Звіт присвячено проєктуванню та перевірці роботи двійкового перемножувача і спеціалізованого перемножувача на константу. У роботі наведено оптимізацію розрахунків, структурні схеми та VHDL-код тестбенчу для розробленого пристрою.

У роботі розглядаються

  • Проєктування цифрових пристроїв
  • Перемножувач на константу
  • ПЛІС
  • VHDL
  • Оптимізація обчислень
  • Тестування схем

Зміст і розділи

  1. Мета роботи
  2. Хід роботи
  3. Оптимізація
  4. Створення спеціалізованого перемножувача
  5. VHDL код TestBench
  6. Таблиця використаних ресурсів
  7. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та дослідники у галузі комп'ютерної інженерії та проєктування цифрових систем.
Викладачі:Цигилик Л. О.

Ключові поняття

ПЛІСперемножувачVHDLTestBenchоптимізаціядвійкова системаIP-ядрочасова діаграмафункціональна схема

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи № 3 з дисципліни: “ Основи проектування цифрових засобів на ПЛІС ” на тему: “РОЗРОБКА СПЕЦІАЛІЗОВАНОГО ПЕРЕМНОЖУВАЧА. ЧАСТИНА 2 ” Прийняв: Цигилик Л. О. Львів 2018 Мета роботи: Проектування та перевірка роботи перемножувача двійкових чисел та спеціалізованого перемножувача на константу. Варіант № 23 : cos (π /57) Хід роботи 1. Розробка спеціалізованого перемножувала на константу: cos(п/57)= 0.99848151643 Числов дійковій системі числення в двійковій системі числення : Дробова частина числа в десятковій системі числення : 011111111100111000111110000012 = 26802784110 Оптимізація: 1) 011111111100111000111110000012 2) 100000000100111000111110000012 3) 100000000101001000111110000012 4) 100000000101001001000010000012 Для неоптимізованого варіанту наше число запишемо таким чиному у коді: ssv_prod <= ( ssv_p0 + ssv_p6 + ssv_p7 + ssv_p8 + ssv_p9 + ssv_p10 + ssv_p14 +ssv_p15+ssv_p16+ssv_p19+ssv_p20+ssv_p21+ssv_p22+ssv_p23+ssv_p24+ssv_p25+ssv_p26+ssv_p27 ); Для оптимізованого варіанту наше число запишемо таким чиному у коді: ssv_prod <= (ssv_p0+ssv_p11+ssv_p17+ssv_p28)-ssv_p6-ssv_p14-ssv_p19; 2. Створення спеціалізованого перемножувала на константу: Рис. 1. Вікно конфігурування перемножувала в Генераторі системних IP-ядер Рис. 2. Реалізована схема. Рис. 2. Функціональна схема. Рис. 3. Технологічна схема. Рис. 3. Часова діаграма. VHDL код TestBench : LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY SSV_ALL2_SSV_ALL2_sch_tb IS END SSV_ALL2_SSV_ALL2_sch_tb; ARCHITECTURE behavioral OF SSV_ALL2_SSV_ALL2_sch_tb IS COMPONENT SSV_ALL2 PORT( SSV_A : IN STD_LOGIC_VECTOR (7 DOWNTO 0); SSV_Opt : OUT STD_LOGIC_VECTOR (35 DOWNTO 0); SSV_C_M : OUT STD_LOGIC_VECTOR (35 DOWNTO 0); SSV_IPC : OUT STD_LOGIC_VECTOR (39 DOWNTO 0)); END COMPONENT; SIGNAL SSV_A : STD_LOGIC_VECTOR (7 DOWNTO 0); SIGNAL SSV_Opt : STD_LOGIC_VECTOR (35 DOWNTO 0); SIGNAL SSV_C_M : STD_LOGIC_VECTOR (35 DOWNTO 0); SIGNAL SSV_IPC : STD_LOGIC_VECTOR (39 DOWNTO 0); BEGIN UUT: SSV_ALL2 PORT MAP( SSV_A => SSV_A, SSV_Opt => SSV_Opt, SSV_C_M => SSV_C_M, SSV_IPC => SSV_IPC ); tb : PROCESS BEGIN SSV_A <="00000001"; wait for clk_c; SSV_A <="00000011"; wait for clk_c; SSV_A <="00000111"; wait for clk_c; SSV_A <="00001111"; wait for clk_c; SSV_A <="00011111"; wait for clk_c; SSV_A <="11111111"; wait for clk_c; END PROCESS; END; Таблиця використаих ресурсів Висновок: На лабораторній роботі я навчився проектувати та робити перемножувач двійкових чисел та спеціалізований перемножувач на константу.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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