[an error occurred while processing this directive]
Заработало! :-) Вот VHDL программа. Интересно, это вообще правильный подход к такого рода задачам?
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено Compana 05 января 2005 г. 23:36
В ответ на: Я бы так делал, если без всяких выкрутасов (+) отправлено Victor® 05 января 2005 г. 12:15

Спасибо всем за помощь. Заработало наконец-то. Правда некоторые вещи у меня не получились:
1. Variable tmp1 : std_logic :='1'; - не присваивается начальное значение - все равно 0
2. В тексте программы не срабатывает tmp := '0'; tmp := '1'; Интересно почему так? Пришлось ввести два сигнала low и high для таких присвоений. Додумался методом проб и ошибок. Почему непосредственное присвоение не работало не понял... :-/

Ну а так вроде получилось... Проверялся на Xilinx Spartan-3 Evaluation Board (Starter kit). Импульсы получились.

Вот VHDL программа. Интересно, это вообще правильный подход к такого рода задачам?

-- led_out
-- |-60ns-|__________60040ns_________|
--
-- ___80ns__|--------60000ns-------|__
-- cnt_req
--
-- clk50m = 50MHz

entity ig4 is
Port ( clk50m : in std_logic;
led_out : out std_logic;
cnt_req : out std_logic;
c_out : out std_logic);
end ig4;

architecture Behavioral of ig4 is
signal low : std_logic;
signal high : std_logic;
begin
low <= '0';
high <= '1';
c_out <= clk50m;
Process (clk50m)
Variable CNT : natural;

Variable tmp1 : std_logic :='1';
Variable tmp2 : std_logic :='0';

BEGIN
If (Rising_edge(clk50m)) THEN CNT := CNT + 1; END IF;

If (CNT >= 0)and(Cnt<4) THEN tmp2 := Low; END IF;
If (CNT >= 4)and(Cnt<3004)THEN tmp2 := high; END IF;
If CNT >= 3004 THEN tmp2 := low; END IF;

If (CNT >= 0)and(Cnt<3) THEN tmp1 := high; END IF;
If (CNT >= 3)and(Cnt<3005)THEN tmp1 := low; END IF;
If CNT >= 3005 THEN tmp1 := high; CNT := 0; END IF;

led_out <= tmp1;
cnt_req <= tmp2;

END Process;
end Behavioral;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru