質問: カウンタのハザードについて 同期式・非同期式1/3カウンタについて実験をし、非同期式でハザードが起こる理由は分かったのですが、ハザードが起こると実際何が問題なのでしょうか?具体例も教えてもらえるとうれしいです、よろしくお願いしますm(__)m
回答: すでにお分かりだと思いますが、非同期3進カウンタは、例えば以下のように、4進カウンタの中の2進出力 qa と4進出力 qb の and をとって、その出力でカウンタをリセットすれば実現できます。 ┌──┐ │ ┌ and ┐ ┏━┷━┷┓ │ クロック ─┨ qa qb ┃ │ ┃ clear ┠──┘ ┗━━━━┛ この回路にクロックを入れたときの各部の波形は以下のようになります(クロックの立下がりでカウンタが動作するとします)。 1 2 3 4 クロック ̄_ ̄_ ̄_ ̄_ ̄ qa _ ̄ ̄__|__ ̄ ̄ qb ___ ̄ ̄____ clear _____|____ クロックが3回目に l レベルになったときから一瞬の間、qa が h レベルになっています。これは、qa と qb が共に h レベルになってから、and 回路の出力が h レベルになり、カウンタがリセットされる(qa = qb = l に戻される)のに数十nsの時間かかかるため、その間 qa が h レベルのままになってしまうからです。この qa に出るヒゲのことをハザードといいます。 ハザードがあるとまずいのは、例えば以下の場合があります。 ・qaの出力を他の回路のクロックに使う場合 qa出力はクロックを1/2分周したものなので、これをさらに1/2分周してクロックの1/4の周波数の信号作ろうとする場合、qaのハザードの立下がり部分で分周器が動作すると、以下のように、ハザードがないとした場合の予想とは異なる信号が出てきます。 1 2 3 4 5 6 7 8 クロック ̄_ ̄_ ̄_ ̄_ ̄_ ̄_ ̄_ ̄_ ̄ qa _ ̄ ̄__|__ ̄ ̄__|__ ̄ ̄__ ハザード ___ ̄ ̄____ ̄ ̄____ ̄ ̄ で誤動作 ハザード ___ ̄ ̄ ̄ ̄ ̄ ̄______ ̄ ̄ がない 場合 この波形は、クロックを1/4分周したものではなく.、1/3分周したものになってしますし、しかもそのduty(hとlの割り合い)も0.5 でなく 2/3 という変な波形になります。1/2分周器は、duty が50%でない信号を duty 50%の波形に整形するときにも使いますので、こういう目的の回路では誤動作になります。ハザードのパルス幅が、カウンタ(分周器)の最小クロックパルス幅よりも小さければ、ハザードは無視されるので、上図の「ハザードがない場合」のような分周器出力が得られます。この波形はクロックを ちゃんと1/4分周したもので、duty も 50% になっています。