[an error occurred while processing this directive]
|
p : process
if ... then
c <= '1';
else
c <= '0';
end if;
end process p;
p1 : process (c)
if c='1' then
a <= '0';
b <= '1';
else
a <= '1';
b <= '0';
end if;
end process p1;
Sorry, в первоначальной мессаги во всех нужных местах забыл дописать список чувствительности. Это и этому понятно, что процесс не активируется без списка либо если в нём нету wait-ообразных инструкций. Главное то, что синтез производится не хочет - пишет, что для выходных сигналов a и b несколько источников (?). Может кто скинет урло, где на пальцах объяснено, что такое параллелизм в HDL-языках, желательно на нашем, статей про описание языка, семплы есть, а вот разбор того, какие баги и глюки могут возникнуть при проектировании - нету. Вроде бы понятно, как только происходит присваивание в теле процесса "p" тут же активизируется процесс "p1" и в зависимости от значения "c" происходит изменение выходых сигналов "a" и "b". Но - не тут то было...
E-mail: info@telesys.ru