Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПИС_ЛАБ РАБ ПЛИС ISE_2015.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.95 Mб
Скачать

Типичные ошибки при выполнении работы

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;

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