САПР 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:52

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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