Что вы подразумеваете под синтезируемым?Использование is_x для создания аппаратного обеспечения не должно поддерживаться инструментом синтеза, поскольку в аппаратном обеспечении есть только 0 и 1, а после синтеза ничего не может быть создано для вашего кода:
OUTPUT <= XOUT when is_x(temp) else temp;
NOUTPUT <= XNOUT when is_x(temp) else (not temp);
OTOH, используя is_xв операторе отчета должен игнорироваться ваш инструмент синтеза (имеется в виду поддерживаемое использование is_x для сообщения о проблемах моделирования), поскольку он не создает никакого оборудования:
assert not(is_x(temp)) report "captured X on input" severity error;
Это полезно для отладки, особенно в statemachine, гдеесть много X маскировки.Если ваш инструмент синтеза не принимает это, обязательно отправьте это как ошибку поставщику - и сообщите о них здесь.