まだ言及されていない要因の1つは、準安定性です。ラッチング回路が入力/遷移のシーケンスでヒットし、結果の状態が伝播遅延または他の予測不能な要因に依存する場合、結果の状態がクリーンな「ハイ」または「ロー」になる保証はありません。たとえば、現在「ロー」を出力しており、クロックエッジの到着とほぼ同時に入力がローからハイに変化するエッジトリガーフリップフロップを考えてみましょう。入力が変化する前にクロックエッジが十分に長く発生すると、出力は次のクロックエッジまで単純にローになります。入力が変更された後、クロックエッジが十分に長く発生すると、出力は1回ローからハイにすばやく切り替わり、次のクロックエッジまでそこに留まります。これらの条件のいずれも当てはまらない場合、。低いままであるか、すぐに1回切り替えて高いままになりますが、しばらくは低いままで、次に切り替えるか、切り替えてからしばらくしてから元に戻すか、数回前後に切り替えます。
デザインが完全に同期しており、すべての入力が二重に同期されている場合、タイミングパルスがシンクロナイザーの最初のラッチにヒットして、2番目のタイミングを混乱させるのに最適なタイミングで切り替わることはほとんどありませんラッチ。一般に、そのようなことを「まったく起こらない」と考えるのは安全です。ただし、非同期設計では、多くの場合、そのようなことを推論するのははるかに困難です。ラッチ回路のタイミング制約(フリップフロップだけでなく、ラッチとして機能するロジックの組み合わせ)に違反した場合、次にラッチを強制する有効な入力条件が存在するまで出力が何をするかがわかりません既知の状態に。出力が遅れると、ダウンストリーム入力のタイミング制約が破られ、予期しない状況が発生する可能性があります。
非同期回路をモデル化する最も安全な方法は、ほとんどすべての出力回路が「0」と「1」を切り替えるたびに少しの間「X」出力を生成することです。残念ながら、このアプローチでは、実際にはほぼ確実に安定した動作が得られる場合でも、ほとんどすべてのノードで「X」が表示されることがよくあります。入力が変更された直後にすべての出力が「X」になり、入力が安定するまで「X」のままであるようにシミュレートすると、システムが動作できる場合、回路は動作しますが、そのような制約の下で非同期回路を動作させる良い兆候ですしばしば難しいです。