45 / 63 · 概念
論理ハザードと等価式の限界
定常状態で等価な回路が、伝搬遅延により異なる過渡波形を作ることを解析します。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
真理値表には時間がありません
次の式で B=C=1 に固定すると、A が 0 でも 1 でも F=1 です。
実ゲートの出力は入力と同時には変わりません。A が 1 から 0 になるとき、AB 経路が先に 0 へ下がり、否定否定 0 を 1 に、1 を 0 に変える NOT 演算です。式の上の線は、その下の式全体に NOT を適用することを表します。 詳しく見る器を通る 経路が後から 1 へ上がると、両項が 0 の区間ができます。本来 1 を保つ出力に短い 0 が現れる現象を static-1 hazard と呼びます。
遅延を数値で比べる
OR 入力までの経路遅延を次のように仮定します。原理を示す値であり、特定プロセスの数値ではありません。
| イベント | A 遷移後の時刻 |
|---|---|
| AB が 0 に下がる | 2ns |
| が 1 に上がる | 4ns |
OR 入力では約 2 ns、両項が 0 です。実出力パルスの発生と幅は、OR ゲートの遅延や短パルスの伝達特性にも左右されます。真理値表真理値表 可能な入力組合せをすべて列挙し、各組合せの出力を記した表です。時間に伴う変化は波形で別途確認します。 詳しく見るの八組が正しいだけでは、この過渡現象を検証できません。
下の一マスは A 遷移後の 1 ns です。AB は 2 ns、NOT(A)C は 4 ns に変わると仮定しています。最後の二行は OR 自身の遅延を省いた入力の結合値で、実素子の測定波形ではありません。BC=1 の経路が二項の間の空白を覆うか確認します。
波形データを表示
| 信号 | 波形 | バスの値 |
|---|---|---|
| 時刻(ns) | 234523 | 0 → 1 → 2 → 3 → 4 → 5 |
| AB | 1.0... | |
| NOT(A)C | 0...1. | |
| OR 入力の結合 | 1.0.1. | |
| BC 追加時 | 1..... |
冗長項が時間的役割を持つことがあります
B=C=1 の間、A によらず出力を支える BC を加えます。
ブール代数ブール代数 0 と 1、AND・OR・NOT を扱う代数です。加算記号は通常 OR を表すので、整数の足し算とは規則が異なります。 詳しく見るのコンセンサス定理により、安定入力の機能は同じです。しかし BC は A の遷移中も 1 を保ち、この単一入力遷移の空白を覆います。カルノー図では、隣接する二つの 1 を共通グループで覆うことに対応します。
この議論は単一入力遷移や 2 段 SOP 実装などの仮定で成り立ちます。複数入力の同時変化、多段論理の動的ハザード、アナログノイズまで解決する意味ではありません。
RTL に書いた項がそのまま残るとは限りません
合成器は BC が機能的に冗長と判断して除去できます。ソースに項を加えただけで、実装がハザードなしと結論してはいけません。要求に合う構造を選び、実装後の経路とタイミングを確認します。
同期データパスでは、出力が十分安定してからレジスタレジスタ 複数ビットの状態を記憶する回路です。このコースの同期式レジスタは、クロックエッジで定められた入力を記憶します。 詳しく見るがサンプルできるよう、セットアップセットアップ 取り込みクロックエッジの前に、入力データが安定していなければならない最小時間です。違反すると記憶結果を保証できません。 詳しく見る・ホールドホールド時間 取り込みクロックエッジの後も、入力データが安定していなければならない最小時間です。通常の値の保持動作とは文脈で区別してください。 詳しく見るを満たすのが基本です。組合せ出力のグリッチをクロック・非同期リセット・外部トリガに直接使うと、問題は大きくなります。信号の目的と受信方法まで含めて設計してください。
自分で考えてみましょう
で B=C=1、A が 0 から 1 に変わります。static-1 hazard を覆うコンセンサス項は何ですか。追加後に定常状態の真理値表は変わりますか。
解説を見る
BC を加えます。 は機能的に等価ですが、遷移中に両経路が 0 になる区間を BC が覆います。単一入力の遷移を仮定しており、実ゲート構造にその項が残るかは別途確認が必要です。