Altifigence Academy

20 / 63 · Khái niệm

D flip-flop: từ mức đến cạnh

So sánh thời điểm cập nhật latch, flip-flop và liên hệ ý nghĩa thanh ghi, setup, hold.

Khoảng clock bằng 1 khác khoảnh khắc chuyển thành 1

Latch mức caoLatch Phần tử lưu trữ theo đầu vào khi điều khiển hoạt động, giữ giá trị khi không hoạt động; khác flip-flop chỉ lưu tại cạnh. Tìm hiểu thêm theo D suốt khoảng CLK=1. D flip-flopFlip-flop Phần tử lưu đầu vào tại cạnh clock chỉ định rồi giữ đến cạnh sau. Đầu vào phải thỏa setup và hold. cạnh lênCạnh lên Khoảnh khắc clock chuyển 0 sang 1, khác với mức cao chỉ cả khoảng CLK=1. lấy D tại ranh giới CLK 0→1 rồi giữ đến cạnh lên sau. Chỉ viết điều kiện clk=1 không khiến hai hành vi này giống nhau.

Hãy trực tiếp làm phép so sánh sau.

  1. Khi CLK=0, đổi D thành 1. Hai Q vẫn bằng 0.
  2. Nâng CLK lên 1. Hai Q thành 1.
  3. Giữ CLK=1, đổi D thành 0. Chỉ Q của latch về 0.
  4. Hạ CLK xuống 0 rồi nâng lên 1. Q của flip-flop lúc này lấy 0.
Hai phần tử lưu khác nhau với cùng D và CLK

Giả sử cả hai q ban đầu bằng 0. Latch D bám theo D khi CLK=1 và giữ nguyên khi CLK=0. Flip-flop D chỉ chốt D khi đồng hồ chuyển 0→1.

Một chu kỳ của mạch tuần tự

Khi đầu ra Q của flip-flop đi qua mạch tổ hợp tạo đầu vào D kế tiếp, ta có chuyển trạng thái. Gọi đầu vào ngay trước cạnh là DkD_k, trạng thái lưu sau cạnh là Qk+1Q_{k+1}, mô hình lý tưởng là:

Qk+1=DkQ_{k+1}=D_k

Đầu ra thực không đổi tức thì cùng cạnh mà sau trễ clock-to-Q. Nhiều flip-flop cùng lấy các đầu vào riêng tại một cạnh, nên có thể tính trạng thái kế tiếp từ trạng thái cũ của nhau. Đây là nền tảng bộ đếm và thanh ghi dịchThanh 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ừ trạng thái hiện tại tới trạng thái sau
  1. Q hiện tại: Trạng thái lưu trong chu kỳ này
  2. Mạch tổ hợp: Tính D từ Q và đầu vào ngoài
  3. Cạnh lên tiếp theo: Lưu D thỏa điều kiện thời gian
  4. Q mới: Xuất trạng thái sau trễ clock-to-Q

Setup, hold là tiền đề lấy mẫu

D phải ổn định trong thời gian 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 trước cạnh bắt và thời gian 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 sau cạnh. D đổi gần cạnh thì không thể đơn giản bảo đảm kết quả là giá trị cũ hoặc mới; metastability có thể xảy ra. Thực hành phía trên không mô phỏng hiện tượng tương tự này.

Thanh ghi là tập hợp flip-flop nhiều bit. Rộng tám bit không tự bảo đảm tám bit đầu vào là một giá trị nhất quán. Cần cùng điều kiện thời gian và quy tắc truyền dữ liệu.

Trạng thái đầu và reset

Cho Q=0 lúc bắt đầu mô phỏng khác với phần cứng chắc chắn bật nguồn ở 0. Bài sau thêm reset và enable để quy định lúc khởi tạo, lúc giữ. Reset đồng bộ tác động tại cạnh; reset bất đồng bộ không phụ thuộc cạnh nhưng vẫn cần chú ý thời gian nhả.

Tự thử

Trong CLK=1, D đổi 0→1→0 rồi ổn định ở D=1 trước cạnh lên tiếp theo. Q của latch và flip-flop đổi khi nào? Flip-flop có cập nhật hai lần tại cạnh không?

Đọc giải thích

Latch theo thay đổi D trong khi CLK=1. Flip-flop bỏ qua các thay đổi đó và chỉ lấy D=1 hợp lệ một lần ở cạnh lên sau. Mạch thực phải được diễn giải kèm setup, hold và clock-to-Q.

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.