- •Введение
- •Общее представление о плис Spartan-3 с архитектурой fpga
- •Краткое описание отладочных плат Spartan-3
- •Лабораторная работа № 1 Введение в сапр ise фирмы xilinx Цель работы
- •Домашняя подготовка
- •Лабораторное задание
- •Типичные ошибки при выполнении работы
- •Простой узел типа d-триггера
- •Контрольные вопросы
- •Лабораторная работа № 2 Проектирование простого цифрового узла на плис Цель работы
- •Домашняя подготовка
- •Лабораторное задание
- •Типичные ошибки при выполнении работы
- •Примеры описаний узлов , которые можно использовать для исключения влияния дребезга контактов кнопок платы
- •Текст модели rs-триггера- защелки на языке vhdl в 9 значном алфавите приведен ниже.
- •Контрольные вопросы
- •Краткое описание архитектуры плис типа cpld.
- •8. Что такое статическая и динамическая составляющие мощности потребления схемы
- •Лабораторная работа № 3 Проектирование устройства управления зу на плис
- •Домашняя подготовка
- •Типичные ошибки
- •Пример описания устройства управления пзу
- •Внешние и внутренние сигналы модуля пзу
- •Вариант описания уу пзу как схемы, построенной на базе микросхем серии кр1533 и с использованием счетчика кр1533ие18
- •Вариант описания уу зу как автомата
- •Контрольные вопросы
- •Библиографический список
- •Дополнительная литература
- •Приложение а Типичные этапы автоматизированной разработки устройств на базе плис фирмы xilinx
- •Типичная последовательность действий пользователя в сапр плис xilinx ise при проектировании на плис типа fpga
- •Приложение б Фрагменты представлений результатов проектирования на примере проекта d-триггера
- •1.Графические и текстовые формы отчетов
- •2.Параметры проекта и настройки синтезатора
- •Приложение в Интернет-ресурсы
- •Установка ise на примере версии 13.2
- •Глава 5 Цифровые функциональные узлы
- •Глава 5 Цифровые функциональные узлы
- •Оглавление
Типичные ошибки при выполнении работы
1.Невнимательное заполнение данных проекта - задан не тот тип Плис ,что на отладочной плате, не тот тип корпуса, не та система моделирования, что установлена в классе и т.п.
2. В пути к каталогу вашего проекта есть каталоги с нелатинскими обозначениями- например каталог ВАСЯ а не VASIA.
3.В результате многократных исправлений система САПР может сбиться- например в окне source навигатора проектов не виден файл теста или создался пустой файл ограничений (.ucf) и его никак не удается удалить и т.п. Один из вариантов выхода из ситуации - заново создать новый проект и включив в него созданные VHDL файлы снова аккуратно выполнить все действия, перечисленные в приложении А или остановить и заново запустить компьютер. Что касается файла ограничений, то его можно просто набить в текстовом редакторе или скопировать у более успешных соседей.
Простой узел типа d-триггера
Ниже приведено описание D-триггера с входами С и D и прямым Q и инверсным NQ выходами и описание тестирующей программы на языке VHDL, содержащее ошибку в разделе сравнения с эталоном. Системы ISE и ModelSim не воспринимают кириллицу не только в тексте описаний проекта, но и в именах файлов и каталогов и приведенные в этой модели комментарии не только не будут отображаться на экране ПЭВМ, но и могут помешать работе САПР. Шаблон тестирующей программы (test bench)может быть создан САПР ISE автоматически[1].
library IEEE;-- используется стандартная библиотека IEEE
use IEEE.STD_LOGIC_1164.ALL;-- подключаемые пакеты
entity dtrig is
Port ( C : in STD_LOGIC;
D : in STD_LOGIC;
Q : out STD_LOGIC;
NQ : out STD_LOGIC);
end dtrig;
architecture dtr_arch of dtrig is
begin
process (C) begin
if C'event and C='1' then
Q<=D;
NQ<= not D;
end if;
end process;
end dtr_arch;
---- Описание тестирующей программы может быть в отдельном файле, а для
---- его автоматизированного получения можно использовать средства САПР ISE.(project> new file>vhdl testbench>)
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 test IS
END test;
ARCHITECTURE behavior OF test IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT dtrig
PORT(
C : IN std_logic;
D : IN std_logic;
Q : OUT std_logic;
NQ : OUT std_logic
);
END COMPONENT;
--Inputs
signal C : std_logic := '0';
signal D : std_logic := '0';
--Outputs
signal Q : std_logic;
signal NQ : std_logic;
constant clock_period : time := 20 ns;
BEGIN
-- Instantiate the Unit Under Test (UUT)
uut: dtrig PORT MAP (
C => C,
D => D,
Q => Q,
NQ => NQ
);
-- Clock process definitions
clock_process :process
begin
C <= '0';
wait for clock_period/2;
C <= '1';
wait for clock_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100 ns.
wait for 100 ns;
-- insert stimulus here
D<='1';
wait for 3 * clock_period; wait until clk'event and clk=’0’;
D<='0';
wait for 3 * clock_period; wait until clk'event and clk=’0’;
end process;
-- процесс сравнения значений выходов тестируемого объекта с
--ожидаемыми
check: process -- процесс самопроверки модели
wait until clk'event and clk=’1’;
wait for 3 ns;-- задержка на предполагаемое время прохождения
---сигнала в D-триггере и выходном порте микросхемы!
assert(d = q) report "OCHIBKA !! MISCOMPARING ERROR"
severity FAILURE;
end process;
end;
