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ài học miễn phí. Đăng ký để lưu tiến độ học tập.
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.
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 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ện | Thời điểm sau khi A đổi |
|---|---|
| AB xuống 0 | 2ns |
| lên 1 | 4ns |
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.
Xem dữ liệu dạng sóng
| Tín hiệu | Dạng sóng | Giá trị bus |
|---|---|---|
| time(ns) | 234523 | 0 → 1 → 2 → 3 → 4 → 5 |
| AB | 1.0... | |
| NOT(A)C | 0...1. | |
| OR inputs | 1.0.1. | |
| with BC | 1..... |
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.
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 , 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. 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.