[an error occurred while processing this directive]
|
Обнаружение активации процесса производилось следующим образом:
Внутри процесса сделал элементарный 4-х разрядный счетчик и вывел его разряды на выводы, подключенные к логическому анализатору.
В случае процесса:
=================================
process
begin
wait until RISING_EDGE(GCLK1);
...инкрементируем счетчик...
end process;
=================================
По каждому положительному фронту GCLK1 (6MHz) получал инкремент счетчика (0,1,2,...,E,F,0,...). Все розово и пушистенько :)
В случае процесса:
=================================
process (GCLK1)
begin
...инкрементируем счетчик...
end process;
=====================
Получал хаотичную :) инкрементацию счетчика...
Никаких сообщений о неполном списке чувствительности небыло.
Как я понял, процесс запускался на каждое изменение не только GCLK1, но и всех разрядов счетчика :)
Пытаюсь понять, почему...
> а ситуация с множественными драйверами - допусти логическая функция
> OR между всеми клиентами - клиент пасивный (0) на выходе 0, один
> или несколько активировались (1) на выходе 1
Безусловно :) Одно но, придется сделать ниточку для каждого клиента и объединение их по "или" в результирующую. Почему не иметь только одну ниточку? Я как раз и думал, что подобное объединение будет делаться функцией разрешения...
А зачем иначе нужны функции разрешения?
С уважением,
Митя
E-mail: info@telesys.ru