[an error occurred while processing this directive]
|
в списке чувствительности указываются сигналы запускающие процесс(активизирующие его). Внутри процесса ОБЯЗАТЕЛЬНО должно быть выражение определяющее состояние сигнала запускающего вашу логику. думать что любое изменение сигнала из списка чувствительности приведет к ПРАВИЛЬНОМУ исполнению кода, находящегося внутри процесса - преступно (отсюда метастабильность, неопределенные состояни и все прочие прелести неработоспособных схем включая и хаотические счетчики)
не один из извесных мне синтезаторов в полной мере не поддерживает стандарт языка, отсюда необходимость придерживатся особенностей используемого синтезатора (например ни симплифай не УЖ ТОЧНО квартус НЕ ПОДДЕРЖИВАЮТ жункций разрешения определяемых пользователем, только стандартные функции разрешения определенные в пакете
ieee.std_logic_1164)
все сказанное по поводу поддержки стандарта языка не относится к пакету ACTIVE HDL от альдека(эксперименты показывают что его компилятор абсолютно полно и корректно обрабатывает любую вашу писанину если она допускается стандартом), но это чистой воды компилятор т.е о синтезе и вообще создании железяк можете забыть.
мне кажется для ваших экспериментов альдек - самое то.
по поводу двух фронтов - вариант
process(clk)begin
if clk = '1' and clk'event then
-----code
elsif clk = '0' and clk'event then
-----code
end if;
end process;
как вам уже присоветовали - самое оно
удачи
E-mail: info@telesys.ru