САПР XILINX WEBPACK. ПРОЕКТУВАННЯ НАЙПРОСТІШИХ ВУЗЛІВ.

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Кафедра ЕОМ Лабораторна робота №1 з дисципліни: «Основи проектування цифрових засобів на ПЛІС» на тему: «САПР Xilinx WebPack. Проектування найпростіших вузлів» Львів – 2015 Мета роботи: засвоєння навичок роботи у середовищі Xilinx WebPack, навчитись створювати проекти в САПР Xilinx WebPack. Хід виконання роботи Я вибрав наступну функцію - f = (a & b & /c) v (d xor e) Створив новий проект, вибрав потрібні елементи та розмістив їх в робочій області схемного редактора. Зробив між ними зв’язки. / Рис. 1. Логічна схема для реалізації заданої ФАЛ У вікні Processes запустив на виконання процес Synthesize. У процесі синтезу з файлів HDL-описів проектованого пристрою сформувався файл списку з'єднань. Відкрив звіт про результати синтезу (View Text Report). / Рис. 2. Звіт синтезування Створюємо схеми. / Рис. 3. Умовний графічний образ / Рис. 4. Функціональна схема / Рис. 5. Технологічна схема Створюємо test bench файл і вносимо в нього певні зміни (рис.5). / Рис. 5. Створення VHDL Test Bench VHDL code from Test Bench: krt_tb.vhd LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL; LIBRARY UNISIM; USE UNISIM.Vcomponents.ALL; ENTITY KRT_sch_1_KRT_sch_1_sch_tb IS END KRT_sch_1_KRT_sch_1_sch_tb; ARCHITECTURE behavioral OF KRT_sch_1_KRT_sch_1_sch_tb IS COMPONENT KRT_sch_1 PORT( krt_a : IN STD_LOGIC; krt_b : IN STD_LOGIC; krt_c : IN STD_LOGIC; krt_d : IN STD_LOGIC; krt_e : IN STD_LOGIC; krt_res : OUT STD_LOGIC); END COMPONENT; SIGNAL krt_a : STD_LOGIC:='0'; SIGNAL krt_b : STD_LOGIC:='0'; SIGNAL krt_c : STD_LOGIC:='0'; SIGNAL krt_d : STD_LOGIC:='0'; SIGNAL krt_e : STD_LOGIC:='0'; SIGNAL krt_res : STD_LOGIC; BEGIN UUT: KRT_sch_1 PORT MAP( krt_a => krt_a, krt_b => krt_b, krt_c => krt_c, krt_d => krt_d, krt_e => krt_e, krt_res => krt_res ); krt_a<=not krt_a after 10 ns; krt_b<=not krt_b after 20 ns; krt_c<=not krt_c after 40 ns; krt_d<=not krt_d after 80 ns; krt_e<=not krt_e after 160 ns; -- *** Test Bench - User Defined Section *** tb : PROCESS BEGIN WAIT; -- will wait forever END PROCESS; -- *** End Test Bench - User Defined Section *** END; Зміни в коді виділені червоним. Після цього перевіряємо синтаксис і запускаємо симуляцію, в результаті чого отримуємо часову діаграму (рис.6). / Рис. 6. Часова діаграма Виконуємо процеси Implement Design та Generate Programming File (Рис. 7). / Рис. 7. Implement Design та Generate Programming File Реалізуємо ФАЛ за допомогою VHDL опису проекту (рис. 8). / Рис. 8. Створення нового модуля проекту реалізації ФАЛ / / Рис. 9. Визначення входів/виходів VHDL моделі проекту / Рис. 10. Вікно навігації проектів Виконуємо процес синтезування і витягуємо звіт (рис.11). / Рис. 11. Звіт етапу синтезу / Рис. 12. Функціональна схема / Рис. 13. Технологічна схема LUT – це проста мала пам’ять, яка генерує функції базису Буля. VHDL code from Module: krt_v_1.vhd library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity krt_v_1 is Port ( krt_a : in STD_LOGIC; krt_b : in STD_LOGIC; krt_c : in STD_LOGIC; krt_d : in STD_LOGIC; krt_e : in STD_LOGIC; krt_res : out STD_LOGIC); end krt_v_1; architecture Behavioral of krt_v_1 is begin krt_res<=(krt_a and krt_b and not krt_c) or (krt_d xor krt_e); end Behavioral; Повторюємо вищезгадані процедури і створюємо Test Bench файл, асоційований з krt_v_1, після чого виконуємо часове симулювання та імплементування і генерування програмних файлів. / Рис. 14. Асоціювання з krt_v_1 VHDL code from Test Bench: krt_tb_1.vhd 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 krt_tb_1 IS END krt_tb_1; ARCHITECTURE behavior OF krt_tb_1 IS -- Component Declaration for the Unit Under Test (UUT) COMPONENT krt_v_1 PORT( krt_a : IN std_logic; krt_b : IN std_logic; krt_c : IN std_logic; krt_d : IN std_logic; krt_e : IN std_logic; krt_res : OUT std_logic ); END COMPONENT; --Inputs signal krt_a : std_logic := '0'; signal krt_b : std_logic := '0'; signal krt_c : std_logic := '0'; signal krt_d : std_logic := '0'; signal krt_e : std_logic := '0'; signal clk : std_logic := '0'; --Outputs signal krt_res : std_logic; -- No clocks detected in port list. Replace <clock> below with -- appropriate port name constant clk_period : time := 10 ns; BEGIN -- Instantiate the Unit Under Test (UUT) uut: krt_v_1 PORT MAP ( krt_a => krt_a, krt_b => krt_b, krt_c => krt_c, krt_d => krt_d, krt_e => krt_e, krt_res => krt_res ); krt_a<=not krt_a after 10 ns; krt_b<=not krt_b after 20 ns; krt_c<=not krt_c after 40 ns; krt_d<=not krt_d after 80 ns; krt_e<=not krt_e after 160 ns; -- Clock process definitions clk_process :process begin clk <= '0'; wait for clk_period/2; clk <= '1'; wait for clk_period/2; end process; -- Stimulus process stim_proc: process begin -- hold reset state for 100 ns. wait for 100 ns; wait for clk_period*10; -- insert stimulus here wait; end process; END; / Рис. 14. Часова діаграма з модулем krt_v_1 Проаналізувавши отримані стимуляційні часові діаграми можна дійти висновку, що поведінка імплементації проекту є відповідною заданій функції. Висновок: Виконавши дану лабораторну роботу, я засвоїв навички роботи у середовищі Xilinx WebPack, навчився створювати проекти в САПР Xilinx WebPack. Перший варіант розрахований на вибір елементів вами, тобто які елементи мають бути в схемі і як вони повинні бути створені, а в іншому варіанті описується тільки логіка роботи ПЛІС, середовище самостійно реалізовує цю логіку. Частота в першому варіанті – 1/5,677 = 176 MHz, в другому – 1/5,280 = 189 MHz.
Антиботан аватар за замовчуванням

17.10.2015 12:10-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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