[an error occurred while processing this directive]
VHDL, Проблема с multiple driving в процессах.
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено fire-ash 10 апреля 2006 г. 18:06

Господа,может кто-нибудь может подсказать по следуюущей проблеме.

Имеется два процесса (премерный код ниже), которые обновляю один и тот же сигнал (multiple driving). Сразу оговорюсь - цель исключительно поведенческое моделирование. При симуляции же (Моделсим 5.8 СЕ), сигнал начинает обновляться только после активации второго процесса. Приблизительно знаю в чем проблем, однако как ее решить с минимальными потерями не сооброжу.
Может где-то в симуляторе нужно что-нибудь поменять?
Собственно код:

ARCHITECTURE beh OF temp_test IS
signal x: std_logic;
BEGIN
set: process(s,x) is
begin
if s='1' then
x<='1' after 1 ps;
elsif (s='0' and x'event ) then
x<='Z' after 1 ps;
elsif (s='0' and x='X' ) then
x<='Z' after 1 ps;
end if;
end process;

reset: process(r,x) is
begin
if r='1' then
x<='0' after 1 ps;
elsif (r='0' and x'event ) then
x<='Z' after 1 ps;
elsif (r='0' and x='X' ) then
x<='Z' after 1 ps;
end if;
end process;

END ARCHITECTURE beh;

Заранее спасибо за помощь.

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

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

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


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru