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

Отправлено Baton 08 марта 2002 г. 16:28

Привет всем.

Есть следующий кусок кода, в зависимости от команды с шины выполняется определенное действие, после синтеза и проверки
на симуляторе видно, что при in_isa_data=06h сигнал
timer_stop после окончания цикла записи команды (in_isa_data снова нуль) начинает колебаться из 1 в 0 с периодом 8.7нс. На других
сигналах (принцип тот же сигнал pc_reset) этого не происходит.
Это пропадает, если как-то хитрым образом выставить опции
синтезатора логики. Проект VHDL сначала прогнал через Leonardo
потом EDIF в EMAX10.1. Что это за штука и как с ней бороться???

commndd:PROCESS (reset_drv,in_isa_data)
BEGIN
IF (reset_drv='1') THEN
timer_reset<='0';
out_isa_data:="00000000";
pc_reset:='0';
timer_stop<='0';
ELSE

case in_isa_data is

when "00000001" => out_isa_data:=wdt_release;

when "00000010" => pc_reset:='1';

when "00000100" => timer_reset<='1';
out_isa_data:="00000000";

when "00000101" => out_isa_data:=timer(15 downto 8);

when "00000110" => timer_stop<='1';
out_isa_data:="00000001";

when "00000111" => timer_stop<='0';
out_isa_data:="00000000";

when others => timer_reset<='0';
end case;
END IF;
END PROCESS commndd;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru