RS-триггер можно симулировать защелкой, но не надо так делать. В физической Альтере нет RS-триггеров. Есть блоки в которых реализуется небольшая табличка истинности + D-триггер с асинхронным сбросом (на самом деле конечно сложнее, но это вполне по-моему убедительная модель). Вся комбинаторика синтезируется через таблицы, результаты фиксируются в регистрах по клоку.
В дополнение к тому, что сказал Hunta - x бывает используется как состояние при сравнении и в case, тогда x -- это "наплевать". Но это не то же самое, что состояние x в симуляции. В симуляции x -- это заразная неопределенность, эквивалент NaN в плавающей точке. Фраза "Если хотя бы один операнд равен х, то и результат всего выражения х" имеет смысл только в симуляции. Так же как 155ла3 не может иметь состояние "х", так не могут иметь состояние "х" и сигналы в Альтере.
Пример семплера (со скидкой на то, что я не вериложил годы и не проверял)
Код:
reg [1:0] sample;
always @(posedge clk) // все записи внутри этого блока происходят залпом параллельно по фронту clk
begin
sample[0] <= sample[1]; // переписали последний семпл в первый
sample[1] <= metastable_input; // сохранили текущее состояние в последний
end
wire stable_input <= sample[0] & sample[1]; // этот сигнал будет 1 когда два clk подряд на metastable_input будет 1