Altifigence Academy

5 / 52 · Concepto

Logic hazards and the limits of Boolean equivalence

정상상태에서는 같은 두 회로가 전파 지연 때문에 서로 다른 순간 파형을 만들 수 있음을 분석합니다.

La traducción aún no está disponible. Se muestra la lección original. (한국어)

진리표에는 시간이 없습니다

다음 식에서 B=C=1로 고정하면 A가 0이든 1이든 F=1입니다.

F=AB+ACF=AB+\overline A C

하지만 실제 게이트의 출력은 입력과 동시에 바뀌지 않습니다. A가 1에서 0으로 바뀔 때 AB 경로가 먼저 0으로 내려가고, 반전기를 통과하는 AC\overline A C 경로가 나중에 1로 올라오면 두 항이 모두 0인 구간이 생길 수 있습니다. 원래 1을 유지해야 하는 출력에 짧은 0이 나타나는 현상을 static-1 hazard라고 합니다.

지연을 숫자로 비교합니다

OR 입력까지의 경로 지연을 다음처럼 가정하겠습니다. 이는 원리를 설명하기 위한 값이며 특정 공정의 수치가 아닙니다.

사건A 전환 이후 시각
AB가 0으로 내려감2ns
AC\overline A C가 1로 올라감4ns

OR 입력에는 약 2ns 동안 두 항이 모두 0입니다. 실제 출력 pulse의 폭과 발생 여부는 OR 게이트의 지연 및 짧은 펄스 전달 특성에도 영향을 받습니다. 진리표의 8개 조합이 모두 맞는다는 것만으로 이 과도 현상을 검증할 수는 없습니다.

한 칸은 A가 바뀐 뒤의 1ns입니다. AB는 2ns, NOT(A)C는 4ns에 바뀐다고 가정했습니다. 마지막 두 행은 OR 자체의 지연을 생략한 입력 결합값이며 실제 소자의 측정 파형이 아닙니다. BC=1인 경로가 두 항 사이의 빈틈을 덮는지 확인하세요.

경로 지연 차이가 만드는 빈틈
View waveform data
Wave data: each character is one interval; a dot holds the previous state; p is a clock cycle.
SignalWaveBus values
time(ns)2345230 → 1 → 2 → 3 → 4 → 5
AB1.0...
NOT(A)C0...1.
OR inputs1.0.1.
with BC1.....

중복 항이 시간적 역할을 할 수 있습니다

B=C=1인 동안 A와 무관하게 출력을 지탱하는 BC 항을 추가합니다.

Fcovered=AB+AC+BCF_{\mathrm{covered}}=AB+\overline A C+BC

불 대수의 consensus 정리에 따라 안정된 입력에서 기능은 같습니다. 그러나 BC는 A가 전환하는 동안에도 1을 유지하므로 위 단일 입력 전환의 빈틈을 덮습니다. 카르노 맵에서는 인접한 두 1을 공통 묶음으로 덮는 것에 대응합니다.

이 논의는 단일 입력 전환과 두 단계 SOP 구현 같은 가정 아래에서 적용됩니다. 여러 입력이 동시에 바뀌는 상황, 다단 논리의 dynamic hazard, 아날로그 잡음까지 모두 해결했다는 뜻은 아닙니다.

RTL에 항을 썼다고 그대로 남지는 않습니다

합성기는 BC가 기능적으로 중복임을 알고 제거할 수 있습니다. 따라서 중복 항을 소스에 추가한 것만으로 실제 구현이 hazard-free라고 결론 내리면 안 됩니다. 요구에 맞는 구조를 선택하고 구현 이후의 경로와 타이밍을 검토해야 합니다.

동기식 데이터 경로에서는 출력이 충분히 안정된 뒤 레지스터가 샘플링하도록 setup·hold 조건을 만족시키는 것이 기본입니다. 조합 출력의 glitch를 클록, 비동기 리셋, 외부 장치의 트리거로 직접 사용하면 문제가 더 커질 수 있습니다. 신호의 목적과 수신 방식까지 포함해 설계하세요.

Inténtalo tú

H=AB+ACH=\overline A B+AC에서 B=C=1이고 A가 0에서 1로 바뀝니다. static-1 hazard를 덮기 위해 추가할 수 있는 consensus 항은 무엇입니까? 추가 후 정상상태 진리표가 달라집니까?

Leer la explicación

추가 항은 BC입니다. AB+AC+BC\overline A B+AC+BC는 기존 식과 기능적으로 같지만, 전환 중 두 경로가 모두 0이 되는 구간을 BC가 덮습니다. 단일 입력 전환을 가정하며, 실제 게이트 구조에 해당 항이 유지되는지는 별도 확인이 필요합니다.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.