Altifigence Academy

45 / 63 · Khái niệm

Hazard logic và giới hạn biểu thức tương đương

Phân tích vì sao hai mạch tương đương ổn định vẫn có dạng sóng tức thời khác do độ trễ.

Bảng chân trị không chứa thời gian

Trong biểu thức sau, cố định B=C=1 thì A bằng 0 hay 1 đều F=1.

F=AB+A‾CF=AB+\overline A C

Nhưng đầu ra cổng thực không đổi cùng lúc đầu vào. Khi A từ 1 xuống 0, nếu đường AB xuống 0 trước và đường A‾C\overline A C qua bộ đảoPhủ định Phép NOT đổi 0 thành 1 và 1 thành 0. Gạch trên biểu thức nghĩa là áp dụng NOT cho toàn bộ phần nằm dưới gạch. Tìm hiểu thêm lên 1 sau, có thể có khoảng cả hai đều 0. Đầu ra lẽ ra giữ 1 lại có xung 0 ngắn, gọi là static-1 hazard.

So sánh độ trễ bằng số

Giả sử trễ các đường tới đầu vào OR như sau; đây là số minh họa nguyên lý, không phải thông số công nghệ cụ thể.

Sự kiệnThời điểm sau khi A đổi
AB xuống 02ns
A‾C\overline A C lên 14ns

Hai hạng ở đầu vào OR đều 0 khoảng 2ns. Độ rộng và cả sự xuất hiện của xung đầu ra thực còn phụ thuộc trễ OR và đặc tính truyền xung ngắn. Đúng cả tám tổ hợp chân trịBảng chân trị Bảng liệt kê đủ mọi tổ hợp đầu vào và đầu ra tương ứng. Sự thay đổi theo thời gian được kiểm tra riêng bằng dạng sóng. Tìm hiểu thêm không đủ để kiểm tra hiện tượng quá độ này.

Mỗi ô là 1ns sau khi A đổi. Giả định AB đổi lúc 2ns, NOT(A)C lúc 4ns. Hai hàng cuối là kết hợp đầu vào bỏ qua trễ OR, không phải dạng sóng đo linh kiện thực. Kiểm tra đường BC=1 có che khoảng trống giữa hai hạng không.

Khoảng trống do lệch trễ đường
Xem dữ liệu dạng sóng
Dữ liệu dạng sóng: mỗi ký tự là một khoảng; dấu chấm giữ trạng thái trước; p là một chu kỳ đồng hồ.
Tín hiệuDạng sóngGiá trị bus
time(ns)2345230 → 1 → 2 → 3 → 4 → 5
AB1.0...
NOT(A)C0...1.
OR inputs1.0.1.
with BC1.....

Hạng dư có thể có vai trò thời gian

Thêm BC giữ đầu ra khi B=C=1, bất kể A.

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

Theo định lý consensus của đại số BooleanĐại số Boolean Đại số của 0, 1 và AND, OR, NOT. Dấu cộng thường biểu diễn OR, nên quy tắc khác phép cộng số nguyên. Tìm hiểu thêm, chức năng ở đầu vào ổn định không đổi. Nhưng BC giữ 1 khi A chuyển nên che khoảng trống trong lần chuyển một đầu vào nói trên. Trên Karnaugh, tương ứng nhóm chung bao phủ hai ô 1 kề nhau.

Phân tích này dựa trên giả thiết chuyển một đầu vào và cấu trúc SOP hai tầng. Không có nghĩa đã giải quyết cả nhiều đầu vào đổi đồng thời, dynamic hazard đa tầng hay nhiễu tương tự.

Hạng viết trong RTL chưa chắc còn sau tổng hợp

Bộ tổng hợp biết BC dư về chức năng và có thể bỏ nó. Vì vậy thêm hạng dư vào nguồn chưa đủ kết luận triển khai hazard-free. Chọn cấu trúc phù hợp yêu cầu rồi rà đường và thời gian sau triển khai.

Trong đường dữ liệu đồng bộ, nguyên tắc là thỏa setupsetup Thời gian tối thiểu dữ liệu đầu vào phải ổn định trước cạnh clock lấy mẫu. Vi phạm thì không thể bảo đảm kết quả lưu. Tìm hiểu thêm, holdThời gian hold Thời gian tối thiểu đầu vào phải tiếp tục ổn định sau cạnh clock bắt dữ liệu. Cần phân biệt yêu cầu thời gian này với hành vi giữ giá trị thông thường. Tìm hiểu thêm để thanh ghiThanh ghi Mạch lưu trạng thái nhiều bit. Thanh ghi đồng bộ trong khóa học lưu đầu vào đã quy định tại cạnh clock. Tìm hiểu thêm lấy mẫu sau đầu ra đã ổn định đủ. Dùng glitch tổ hợp trực tiếp làm clock, reset bất đồng bộ hoặc trigger ngoài có thể gây vấn đề lớn hơn. Thiết kế cần xét cả mục đích tín hiệu và cách nhận.

Tự thử

Với H=A‾B+ACH=\overline A B+AC, B=C=1 và A đổi 0→1. Có thể thêm hạng consensus nào để che static-1 hazard? Bảng chân trị ổn định có thay đổi không?

Đọc giải thích

Hạng thêm là BC. A‾B+AC+BC\overline A B+AC+BC tương đương chức năng biểu thức cũ, nhưng BC che khoảng hai đường đều 0 khi chuyển. Giả định chỉ một đầu vào chuyển; phải kiểm riêng hạng này có còn trong cấu trúc cổng thực không.

Lựa chọn áp dụng cho trình duyệt này. Có thể đổi ở chân trang bất cứ lúc nào.