ハザード (論理回路)
ハザード(Hazard)は論理回路においてシステム内の欠陥もしくは外部の影響により引き起こされる、望まない影響のこと。
論理ハザードは、入力変数の変化が論理素子(NOT, AND, ORゲートなど)により引き起こされる何らかの遅延により出力が正しく変化しないという問題が現れたものである。この結果、論理が正しく機能しなくなる。最も一般的な3種類のハザードは通常、静的、動的、機能ハザードと呼ばれる。
ハザードは一時的な問題であり、論理回路は最終的には望む機能に落ち着く。よって、同期設計においては回路の出力を別のクロックドメインで使用する前に登録するか、システムから配線してハザードが問題にならないようにするのが標準的な方法である。しかし、そうでない場合は他の接続されたシステムに影響を及ぼす可能性があるため、ハザードを排除することが必須である。
静的・動的ハザードとは対照的に、機能ハザードは複数の入力変更により生じるハザードである。排除するための特定の論理的解決はない。本当に信頼性の高い方法の1つは入力が同時に変化しないようにすることであるが、場合によっては適用できない。したがって、回路は各経路に等しい遅延を持つように慎重に設計する必要がある。