[an error occurred while processing this directive]
|
Господа,может кто-нибудь может подсказать по следуюущей проблеме.
Имеется два процесса (премерный код ниже), которые обновляю один и тот же сигнал (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: info@telesys.ru