У меня есть два идентичных (с помощью моделирования) процесса триггера в verilog.
Первое - это просто стандартное описание регистра с асинхронным сбросом (CLR) и часов (SET) с привязкой данных к 1:
always @(posedge SET, posedge CLR)
if (CLR)
Q <= 0;
else
Q <= 1;
второй такой же, как указано выше, но со вторым условием для сигнала SET:
always @(posedge SET, posedge CLR)
if (CLR)
Q <= 0;
else if (SET)
Q <= 1;
Нет никаких различий между этими двумя реализациями триггера в симуляции. Но что говорит стандарт verilog об этих случаях? Должны ли эти тесты быть эквивалентными, а также их списки после процесса синтеза?