Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Лабораторна робота №1
з дисципліни "Основи проектування цифрових засобів на ПЛІС"
Тема: САПР Xilinx WebPack. Проектування найпростіших вузлів.
Мета: засвоєння навичок роботи у середовищі Xilinx WebPack, навчитись створювати проекти в САПР Xilinx WebPack.
Мій варіант: F = (a v /b v c) xor (d & e)
Я створив новий проект, вибрав потрібні елементи та розмістив їх в робочій області схемного редактора. Зробив між ними зв’язки.
/
Рис. 1. Логічна схема для реалізації заданої ФАЛ
У вікні Processes запустив на виконання процес Synthesize. У процесі синтезу з файлів HDL-описів проектованого пристрою зформувався файл списку з'єднань. Відкрив звіт про результати синтезу(View Text Report).
/
Рис. 2. Звіт.
/
Рис. 3. Функціональна схема.
/
Рис. 4. Технологічна схема.
/
Рис. 5. Функціональна схема.
/
Рис. 6. Технологічна схема.
/
Рис. 7. Часова діаграма.
/
Рис. 8. Створення тестбенчу.
/
Рис. 9. Опис портів під час створення тестбенчу.
/
Рис. 10. Звіт.
/
Рис. 11. Функціональна схема.
/
Рис. 12. Технологічна схема.
/
Рис. 13. Функціональна схема.
/
Рис. 14. Технологічна схема.
/
Рис. 15. Часова діаграма.
Висновок
На цій лабораторній роботі я засвоїв навички роботи у середовищі Xilinx WebPack, навчився створювати проекти в САПР Xilinx WebPack. В першому варіанті я сам обираю, які елементи мають бути в схемі і як їх створювати, а в другому варіанті я описую лише логіку роботи ПЛІС і Xilinx сам обирає як це реалізувати. В першому варіанті частота приблизно 163 MHz. В другому варіанті максимальна частота складає приблизно 190 MHz.
Додаток
kb_tb2.vhd
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
LIBRARY UNISIM;
USE UNISIM.Vcomponents.ALL;
ENTITY kb_sch2_kb_sch2_sch_tb IS
END kb_sch2_kb_sch2_sch_tb;
ARCHITECTURE behavioral OF kb_sch2_kb_sch2_sch_tb IS
COMPONENT kb_sch2
PORT( kb_a : IN STD_LOGIC;
kb_b : IN STD_LOGIC;
kb_c : IN STD_LOGIC;
kb_d : IN STD_LOGIC;
kb_e : IN STD_LOGIC;
kb_res : OUT STD_LOGIC);
END COMPONENT;
SIGNAL kb_a : STD_LOGIC:='0';
SIGNAL kb_b : STD_LOGIC:='0';
SIGNAL kb_c : STD_LOGIC:='0';
SIGNAL kb_d : STD_LOGIC:='0';
SIGNAL kb_e : STD_LOGIC:='0';
SIGNAL kb_res : STD_LOGIC;
BEGIN
UUT: kb_sch2 PORT MAP(
kb_a => kb_a,
kb_c => kb_c,
kb_d => kb_d,
kb_e => kb_e,
kb_res => kb_res,
kb_b => kb_b
);
kb_a<=not kb_a after 10 ns;
kb_b<=not kb_b after 20 ns;
kb_c<=not kb_c after 40 ns;
kb_d<=not kb_d after 80 ns;
kb_e<=not kb_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;
kb_tb3.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 kb_tb3 IS
END kb_tb3;
ARCHITECTURE behavior OF kb_tb3 IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT kb_vl
PORT(
kb_a : IN std_logic;
kb_b : IN std_logic;
kb_c : IN std_logic;
kb_d : IN std_logic;
kb_e : IN std_logic;
kb_res : OUT std_logic
);
END COMPONENT;
--Inputs
signal kb_a : std_logic := '0';
signal kb_b : std_logic := '0';
signal kb_c : std_logic := '0';
signal kb_d : std_logic := '0';
signal kb_e : std_logic := '0';
signal clk : std_logic := '0';
--Outputs
signal kb_res : std_logic;
-- No clocks detected in port list. Replace clk below with
-- appropriate port name
constant clk_period : time := 10 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: kb_vl PORT MAP (
kb_a => kb_a,
kb_b => kb_b,
kb_c => kb_c,
kb_d => kb_d,
kb_e => kb_e,
kb_res => kb_res
);
kb_a<=not kb_a after 10 ns;
kb_b<=not kb_b after 20 ns;
kb_c<=not kb_c after 40 ns;
kb_d<=not kb_d after 80 ns;
kb_e<=not kb_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;
kb_vl.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;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity kb_vl is
Port ( kb_a : in STD_LOGIC;
kb_b : in STD_LOGIC;
kb_c : in STD_LOGIC;
kb_d : in STD_LOGIC;
kb_e : in STD_LOGIC;
kb_res : out STD_LOGIC);
end kb_vl;
architecture Behavioral of kb_vl is
begin
kb_res<=(kb_a or not kb_b or kb_c) xor (kb_d and kb_e);
end Behavioral;
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!