非同期不具合の原因パターンを把握しておこう
大きく分けて3パターンあります。
1.そもそもの非同期設計ミス(FF出しFF2段受けをしていない、サンプリング定理を守っていない)による不具合
2.非同期乗り換えのメタステーブルによるシミュレーションと実機の動作が変わる事の認識漏れによる不具合
3.非同期リコンバージェンス箇所の見落としによる不具合
1.はそもそも論外として、2.は多ビットデータりタイミングは論外として、よくやるのが非同期FIFOでタイミング決め打ちをして設計をしたケースが挙げられます。3.は2.の組み合わせでより見落としがちなケースとなります。
1.そもそもの非同期設計ミス(FF出しFF2段受けをしていない、サンプリング定理を守っていない)による不具合
2.非同期乗り換えのメタステーブルによるシミュレーションと実機の動作が変わる事の認識漏れによる不具合
3.非同期リコンバージェンス箇所の見落としによる不具合
1.はそもそも論外として、2.は多ビットデータりタイミングは論外として、よくやるのが非同期FIFOでタイミング決め打ちをして設計をしたケースが挙げられます。3.は2.の組み合わせでより見落としがちなケースとなります。