[an error occurred while processing this directive]
Ответ: Это неправильно!!
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено maegg 14 декабря 2004 г. 10:54
В ответ на: Подскажите как на VHDL сделать импульс на 1 период клока. отправлено d_y 09 декабря 2004 г. 16:19

Нельзя в ПЛИС делать логику сзади тригеров! И вообще все времянки надо делать как логический автомат. Доже простые. Например:

--формирование строба в один период clk
--по переднему фронту сигнала taktin
LIBRARY ieee;
USE ieee.std_logic_1164.all;

LIBRARY work;

ENTITY rise_strob IS
port
(
clk : IN STD_LOGIC;
reset : IN STD_LOGIC;
taktin : IN STD_LOGIC;
strob : OUT STD_LOGIC
);
END rise_strob;


ARCHITECTURE a OF rise_strob IS
TYPE STATE_TYPE IS (s0, s1, s2, s3);
SIGNAL state : STATE_TYPE;
BEGIN
PROCESS (clk, reset)
BEGIN
IF reset = '1' THEN
state <= s0;
ELSIF (clk'EVENT AND clk = '1') THEN
CASE state IS
WHEN s0=>
IF taktin = '0' THEN
state <= s1;
ELSE
state <= s0;
END IF;
WHEN s1=>
IF taktin = '1' THEN
state <= s2;
ELSE
state <= s1;
END IF;
WHEN s2=>
state <= s3;
WHEN s3=>
state <= s3;
END CASE;
END IF;
END PROCESS;

PROCESS (state)
BEGIN
IF state = s2 THEN
strob <= '1';
ELSE
strob <= '0';
END IF;
END PROCESS;

END a;

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru