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

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

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

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

Звіт з лабораторної роботи № 1 з дисципліни Основи проектування цифрових засобів на ПЛІС

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

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

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

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

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

У звіті досліджено проектування найпростіших вузлів та реалізацію булевих функцій у середовищі Xilinx WebPack. Виконано схемну реалізацію, VHDL-опис, синтез і часове моделювання цифрових пристроїв на ПЛІС.

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

  • Xilinx WebPack
  • Проектування на ПЛІС
  • VHDL опис
  • Логічні примітиви
  • Синтез цифрових пристроїв
  • Часове моделювання
  • Функціональна схема

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

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

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

ПЛІСXilinx WebPackVHDLTest BenchСАПРФАЛСинтезЧасова діаграмаЛогічні примітивиІмплементація

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

Міністерство освіти і науки Національний університет „Львівська політехніка” Кафедра EОМ Звіт з лабораторної роботи № 1 з дисципліни: “ Основи проектування цифрових засобів на ПЛІС ” на тему: “САПР XILINX WEBPACK. ПРОЕКТУВАННЯ НАЙПРОСТІШИХ ВУЗЛІВ” Прийняв: Цигилик Л. О. Львів 2018 Мета роботи: засвоєння навичок роботи у середовищі Xilinx WebPack, навчитись створювати проекти в САПР Xilinx WebPack. Завдання 1. Створити новий проект. 2. Розробити модуль проекту, що реалізує ФАЛ задану згідно варіанту (ФАЛ задає викладач індивідуально), з допомогою бібліотечних примітивів. 3. Виконати синтез пристрою. 4. Розробити модуль проекту, що реалізує ФАЛ задану згідно варіанту, з допомогою VHDL опису. 5. Виконати синтез пристрою. 6. Виконати розміщення й трасування на ПЛІС. 7. Виконати часове моделювання пристрою для обох реалізацій. 8. За результатами виконаних робіт зробити висновки. Варіант 23 : F = /(a & b) & (/b v a) ^ (d ^ e) Хід роботи 1 Запуск менеджера проектів Project Manager 1.1 Виконати File->New Project… З’явиться вікно New Project Wizard (рис. 1.1). Необхідно: 1) задати ім’я свого проекту (Name); 2) встановити робочий каталог (Working Directory:); 3) задати тип проекту – Top-level source type: Schematic; 4) натиснути клавішу “Next”. Рис.1. Створення нового проекту. Далі необхідно визначити серію ПЛІС, тип мікросхеми у серії, швидкодію мікросхеми, мову апаратного програмування та симулятор. Рис.2. Вибір цільової ПЛІС та симулятора. Рис.3. Автоматично згенероване резюме проекту. 2. Схемна реалізація ФАЛ виду F = /(a & b) & (/b v a) ^ (d ^ e). Для створення нового модуля вихідного опису проекту треба виконати Project-> New Source… У діалоговій панелі, що відкрилася, необхідно вибрати тип нового модуля, задати його ім'я й указати місце розташування файлу на диску. Рис.4. Створення нового модуля вихідного опису проекту. 3. Схема розроблена на основі логічних примітивів : Рис.5. Розробка схеми згідно варанту. 4. У вікні Processes запустив на виконання процес Synthesize. У процесі синтезу з файлів HDL-описів проектованого пристрою сформувався файл списку з'єднань. Відкрив звіт про результати синтезу (View Text Report). Рис. 2. Звіт синтезування. Рис. 3. Умовний графічний образ Рис. 4. Функціональна схема Рис. 5. Технологічна схема 5. Створюємо test bench файл і вносимо в нього певні зміни : Рис. 6. Створення VHDL Test Bench. VHDL код для Test Bench: LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY SSV_sch1_SSV_sch1_sch_tb IS END SSV_sch1_SSV_sch1_sch_tb; ARCHITECTURE behavioral OF SSV_sch1_SSV_sch1_sch_tb IS COMPONENT SSV_sch1 PORT( SSV_a : IN STD_LOGIC; SSV_d : IN STD_LOGIC; SSV_e : IN STD_LOGIC; SSV_F : OUT STD_LOGIC; SSV_b : IN STD_LOGIC); END COMPONENT; SIGNAL SSV_a : STD_LOGIC:='0'; SIGNAL SSV_d : STD_LOGIC:='0'; SIGNAL SSV_e : STD_LOGIC:='0'; SIGNAL SSV_F : STD_LOGIC:='0'; SIGNAL SSV_b : STD_LOGIC:='0'; BEGIN UUT: SSV_sch1 PORT MAP( SSV_a => SSV_a, SSV_d => SSV_d, SSV_e => SSV_e, SSV_F => SSV_F, SSV_b => SSV_b ); SSV_a<=not SSV_a after 10 ns; SSV_b<=not SSV_b after 20 ns; SSV_d<=not SSV_d after 40 ns; SSV_e<=not SSV_e after 80 ns; -- *** Test Bench - User Defined Section *** tb : PROCESS BEGIN WAIT; -- will wait forever END PROCESS; -- *** End Test Bench - User Defined Section *** END; Після цього перевіряємо синтаксис і запускаємо симуляцію, в результаті чого отримуємо часову діаграму (рис.6). Рис. 7. Часова діаграма. 6. Виконуємо процеси Implement Design та Generate Programming File : Рис. 7. Implement Design та Generate Programming File 7. Реалізуємо ФАЛ за допомогою VHDL опису проекту : Рис. 8. Створення нового модуля проекту реалізації ФАЛ Рис. 9. Визначення входів/виходів VHDL моделі проекту 8. Встановлюємо Top-Level симуляції: правою клавішею мишки на файлі VHDL модуля –>Set as Top Module. Виконуємо процес синтезування і витягуємо звіт : Рис. 10. Звіт етапу синтезу. Рис. 12. Функціональна схема Рис. 13. Технологічна схема VHDL код Module: library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SSV_v1 is Port ( SSV_a : in STD_LOGIC; SSV_b : in STD_LOGIC; SSV_d : in STD_LOGIC; SSV_e : in STD_LOGIC; SSV_F : out STD_LOGIC); end SSV_v1; architecture Behavioral of SSV_v1 is begin SSV_F <= ((SSV_a nand SSV_b) and ( not SSV_b or SSV_a)) xor (SSV_d xor SSV_e); end Behavioral; 9. Повторюємо вищезгадані процедури і створюємо Test Bench файл, асоційований з krt_v_1, після чого виконуємо часове симулювання та імплементування і генерування програмних файлів. VHDL код Test Bench: LIBRARY ieee; USE ieee.std_logic_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --USE ieee.numeric_std.ALL; ENTITY SSV_testbench1 IS END SSV_testbench1; ARCHITECTURE behavior_a OF SSV_testbench1 IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT SSV_v1 PORT( SSV_a : IN std_logic; SSV_b : IN std_logic; SSV_d : IN std_logic; SSV_e : IN std_logic; SSV_F : OUT std_logic ); END COMPONENT; --Inputs signal SSV_a : std_logic := '0'; signal SSV_b : std_logic := '0'; signal SSV_d : std_logic := '0'; signal SSV_e : std_logic := '0'; signal clock : std_logic := '0'; --Outputs signal SSV_F : std_logic; -- No clocks detected in port list. Replace <clock> below with -- appropriate port name constant clock_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: SSV_v1 PORT MAP ( SSV_a => SSV_a, SSV_b => SSV_b, SSV_d => SSV_d, SSV_e => SSV_e, SSV_F => SSV_F ); SSV_a<=not SSV_a after 10 ns; SSV_b<=not SSV_b after 20 ns; SSV_d<=not SSV_d after 40 ns; SSV_e<=not SSV_e after 60 ns; -- Clock process definitions clock_process : process begin clock <= '0'; wait for clock_period/2; clock <= '1'; wait for clock_period/2; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ns. wait for 100 ns; wait for clock_period*10; -- insert stimulus here wait; end process; END; Рис. 14. Часова діаграма з модулем SSV_v1 Таблиця істинності Проаналізувавши отримані стимуляційні часові діаграми можна дійти висновку, що поведінка імплементації проекту є відповідною заданій функції. Висновок : На лабораторній роботі я засвоїв навички роботи у середовищі Xilinx WebPack, навчитись створювати проекти в САПР Xilinx WebPack.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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