Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Labs_1-3 ПКС.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.72 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Звіти до лабораторних робіт № 1 - 3 «Проектування комп’ютерних систем та мереж»

Виконав:

ст. гр. КСМсі-11з

Мархоцький В.С.

Прийняв:

Бачинський Р.В.

Львів – 2013

ЛР № 1

Сапр Xilinx WebPack

Мета роботи: Опанувати методами роботи в САПР Xilinx WebPack. Дослідити властивості, поведінку та варіанти використання базового примітивного елементу ПЛІС, що отримав назву функційної таблиці (в оригіналі – Look-Up Table (LUT)).

Хід роботи:

Для створення нового проекту потрібно проробити кроки, що вказані на рисунках 1 – 6.

Рис 1. Створення проекту. Рис 2. Вибір кристалу для роботи.

Рис 3. Обираємо джерело Рис 4. Створюємо модуль

Рис 5. Описуємо модуль Рис 6. Опис створеного проектуу

Після створення проекту, додання до нього файлу і налаштування отримаємо вікно, де буде вказана вся інформація по проекту, рис. 7:

Рис. 7. Сумарний звіт по створеному проекту.

У щойно створеному проекті автоматично генерується файл з кодом опису роботи створюваного пристрою (відповідно з налаштуваннями на рис. 5.). Після редагування даного файлу він матиме наступний вигляд до нього додано поведінку роботи пристрою:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating

---- any Xilinx primitives in this code.

--library UNISIM;

--use UNISIM.VComponents.all;

entity my_lut2 is

Port ( a : in STD_LOGIC;

b : in STD_LOGIC;

c : out STD_LOGIC);

end my_lut2;

architecture Behavioral of my_lut2 is

begin

c <= not (a and b);

end Behavioral;

Якщо усе правильно написано, нема помилок у тексті коду опису, то при натисненні на «Process -> Implement to module» відбудеться синтез моделі, про успішність результату свідчать зелені позначки (рис. 8.):

Рис. 8. Вікно проекту після виконання синтезу розробленої моделі.

Звіт про виконання міститься у файлі *.syr :

Final Results

RTL Top Level Output File Name : my_lut2.ngr

Top Level Output File Name : my_lut2

Output Format : NGC

Optimization Goal : Speed

Keep Hierarchy : NO

Design Statistics

# IOs : 3

Cell Usage :

# BELS : 1

# LUT2 : 1

# IO Buffers : 3

# IBUF : 2

# OBUF :

Device utilization summary:

Selected Device : 2v40fg256-5

Number of Slices: 1 out of 256 0%

Number of 4 input LUTs: 1 out of 512 0%

Number of IOs: 3

Number of bonded IOBs: 3 out of 88 3%

Технологічна схема проекту представлена на рис. 9. Щоб її відкрити потрібно у вікні «Processes» вибрати «Synthesize – XST» -> «View technology schematic».

Рис 9. Технологічна схема проекту.

В пакет Xilinx ISE WebPack входить багато допоміжних утиліт. Серед них: утиліта Floorplanner, що подає розташування імплементації проекта на поверхні кристала ПЛІС; видно які контакти ПЛІС та під які сигнали задіяв автомат розведення (рис. 10); утиліта Xilinx Xpower про енергоспоживання проекту (рис. 11).

Рис. 10 Вікно утиліти Floorplanner, що подає розташування імплементації проекта на поверхні кристала ПЛІС.

Рис. 11 вікно утиліти Xilinx Xpower про енергоспоживання проекту my_lut2

Для тестування створеного проекту потрібно додати новий додатковий файлу проекту типу TestBench з назвою tb, чого вимагає подальше проведення Post Place&Route (часової, а не поведінкової) симуляції, що відбувається на рівні вентилів, тобто,з врахуванням затримок елементів і сполучень). Для заміни зовнішнього симулятора проекту ModelSim на ISE Simulator. Після створення буде згенеровано файл з текстом моделі його потрібно відкоректувати до слідуючого змісту:

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_unsigned.all;

USE ieee.numeric_std.ALL;

ENTITY tb_vhd IS

END tb_vhd;

ARCHITECTURE behavior OF tb_vhd IS

-- Component Declaration for the Unit Under Test (UUT)

COMPONENT my_lut2

PORT(

a : IN std_logic;

b : IN std_logic;

c : OUT std_logic

);

END COMPONENT;

--Inputs

SIGNAL a : std_logic := '1';

SIGNAL b : std_logic := '0';

--Outputs

SIGNAL c : std_logic;

BEGIN

-- Instantiate the Unit Under Test (UUT)

uut: my_lut2 PORT MAP(

a => a,

b => b,

c => c

);

a <= not a after 30 ns;

b <= not b after 40 ns;

tb : PROCESS

BEGIN

-- Wait 100 ns for global reset to finish

wait for 100 ns;

-- Place stimulus here

wait; -- will wait forever

END PROCESS;

END;

Про правильність роботи тесту можна судити по часових діаграмах після моделювання (рис 12). З діаграми видно, що початкове значення сигналу a становить «1», сигнал a змінює власний рівень кожні 30 нс, а сигнал b – кожні 40 нс.

Рис. 12. Результат моделювання.

ЛР № 2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]