MODULE 5: CỖ MÁY THỜI GIAN (SEQUENTIAL LOGIC & FSM)
Chào bạn, chúng ta đã đi được một nửa chặng đường! Các module trước đã giúp bạn làm quen với việc “nối dây” để tạo ra các quyết định tức thời. Nhưng một hệ thống thông minh không chỉ biết phản ứng, nó còn cần biết ghi nhớ. Hôm nay, chúng ta bước vào Module 5 – Module quan trọng nhất để biến các mạch logic rời rạc thành một “bộ máy” thực thụ.
1. Giới thiệu
Chào mừng bạn đến với chương học về Logic tuần tự (Sequential Logic). Nếu các bài học trước (Module 1-4) dạy bạn cách chế tạo các “phản xạ” (đầu vào thay đổi là đầu ra đổi ngay), thì bài học này sẽ dạy bạn cách tạo ra “trí nhớ”.
Trong thiết kế FPGA, đặc biệt là với dòng chip Artix-7 XC7A100T, Flip-flop là thành phần hiện diện với số lượng khổng lồ (hàng trăm ngàn đơn vị). Nó là “viên gạch” cơ bản để tạo ra các thanh ghi, bộ đếm và các cỗ máy trạng thái phức tạp. Trong công nghiệp, Flip-flop xuất hiện trong mọi hệ thống: từ bộ nhớ đệm của robot công nghiệp đến các mạch chốt an toàn trong thang máy.
Hiểu về Flip-flop là hiểu cách FPGA “chụp ảnh” trạng thái của thế giới và giữ nó lại cho đến khi có nhịp xung tiếp theo. Đây là bước ngoặt giúp bạn chuyển từ tư duy “nối dây” đơn thuần sang tư duy “điều khiển tiến trình”.
2. Nội dung chính
2.1. Logic tổ hợp vs. Logic tuần tự: Tại sao phải cần trí nhớ?
- Mạch tổ hợp (Combinational – Module 1-4): Kết quả đầu ra chỉ phụ thuộc vào đầu vào hiện tại. Giống như một chiếc còi điện: bạn nhấn nút thì còi kêu, thả ra thì còi tắt. Nó không nhớ bạn đã nhấn bao nhiêu lần hay trước đó trạng thái ra sao.
- Mạch tuần tự (Sequential – Module 5): Kết quả đầu ra phụ thuộc vào cả đầu vào hiện tại và trạng thái trong quá khứ. Giống như nút bật/tắt đèn pin: nhấn một lần là Sáng (và nó nhớ trạng thái Sáng), nhấn lần nữa là Tắt. Để làm được điều này, mạch phải có khả năng lưu trữ.
2.2. D-Flip-Flop (D-FF): Người gác cổng tận tụy
Loại Flip-flop phổ biến nhất trong FPGA là D Flip-flop. Nó hoạt động giống như một người gác cổng đứng cạnh một chiếc gương:
- Cổng D (Data): Là thông tin đang đứng đợi ở cửa.
- Cổng CLK (Clock): Là tiếng còi của trọng tài (Nhịp tim hệ thống).
- Cổng Q (Output): Là hình ảnh được lưu lại bên trong gương.
Quy tắc vận hành: Dù dữ liệu ở cổng D có thay đổi thế nào đi nữa, người gác cổng vẫn đứng im. Chỉ khi tiếng còi (xung Clock – thường là cạnh lên) vang lên, người gác cổng mới mở cửa cho dữ liệu ở D đi vào và hiển thị ở Q. Sau đó cửa đóng sầm lại, và Q sẽ giữ nguyên giá trị đó bất kể D có biến đổi gì tiếp theo cho đến nhịp còi kế tiếp.

2.3. Ví dụ đời sống: Chế độ “Chụp ảnh màn hình” (Snapshot)
Hãy tưởng tượng bạn đang xem một trận bóng đá trực tiếp trên tivi. Cầu thủ chạy liên tục (dữ liệu thay đổi liên tục ở đầu vào D). Khi bạn nhấn nút “Snapshot” (Xung Clock), tivi sẽ chụp lại khoảnh khắc đó và hiện trên màn hình (Đầu ra Q). Dù cầu thủ có chạy tiếp hay trận đấu kết thúc, tấm ảnh trên màn hình vẫn đứng yên cho đến khi bạn nhấn nút chụp một lần nữa. Flip-flop chính là thiết bị thực hiện cú “chụp ảnh” đó cho 1 bit dữ liệu.
2.4. Ứng dụng trên bo mạch AIOT-ARTIX7
Trên bo mạch của chúng ta, Flip-flop là “linh hồn” của mọi chức năng cần quản lý thời gian:
- Chốt tín hiệu (Latching): Khi bạn nhấn một nút nhấn (Button) rất nhanh, FPGA dùng Flip-flop để “chụp” lấy khoảnh khắc đó và giữ cho đèn LED sáng mãi cho đến khi bạn ra lệnh khác.
- Xử lý song song: Trong chip Artix-7, hàng ngàn Flip-flop có thể cùng lúc “chụp ảnh” dữ liệu từ các cảm biến RF hoặc ADC ở mỗi nhịp xung nhịp 50MHz. Điều này cho phép FPGA lưu trữ trạng thái của toàn bộ hệ thống cực kỳ phức tạp chỉ trong một tích tắc đồng bộ.
3. Tổng kết
- Flip-flop là bộ nhớ: Nó là đơn vị cơ bản nhất để lưu trữ 1 bit dữ liệu (0 hoặc 1).
- Sự kiện xung Clock: Dữ liệu chỉ được cập nhật vào Flip-flop tại thời điểm có sự kiện xung (thường là cạnh lên – Rising Edge) của Clock.
- Tầm quan trọng: Đây là khối xây dựng cơ bản của Logic tuần tự, cho phép tạo ra các thanh ghi (Registers), bộ đếm (Counters) và bộ nhớ.
- Trên Artix-7: Có hàng trăm ngàn Flip-flop hoạt động song song, tạo nên sức mạnh xử lý dữ liệu và lưu trữ trạng thái khổng lồ.
Kiểm tra kiến thức
Hãy cùng kiểm tra lại tư duy của bạn về “Trí nhớ” của máy tính trước khi tiếp tục.
- Câu 1: Điểm khác biệt lớn nhất giữa mạch tuần tự (Sequential) và mạch tổ hợp (Combinational) là gì?
A. Mạch tuần tự tiêu tốn nhiều điện hơn.
B. Mạch tuần tự có khả năng lưu trữ trạng thái (có trí nhớ).
C. Mạch tổ hợp chỉ dùng được với số nhị phân.
D. Mạch tuần tự không cần dùng cổng logic.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Khả năng ghi nhớ trạng thái cũ để kết hợp với đầu vào hiện tại là đặc tính phân loại quan trọng nhất của mạch tuần tự.
- Câu 2: Trong D-Flip-flop, dữ liệu ở đầu ra Q sẽ thay đổi khi nào?
A. Bất cứ khi nào dữ liệu ở đầu vào D thay đổi.
B. Khi nguồn điện của bo mạch bị ngắt.
C. Chỉ khi có sự kiện xung Clock (ví dụ cạnh lên) tác động.
D. Khi chip Artix-7 bị nóng.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: Flip-flop là mạch hoạt động theo nhịp (Synchronous). Xung Clock đóng vai trò là “lệnh” để Flip-flop lấy mẫu dữ liệu đầu vào và cập nhật ra đầu ra.
- Câu 3: Nếu đầu vào D = 1, và một xung Clock đi qua, sau đó D thay đổi thành 0 (nhưng chưa có xung Clock tiếp theo), thì đầu ra Q sẽ có giá trị bao nhiêu?
A. Q = 0
B. Q = 1
C. Q nhấp nháy giữa 0 và 1
D. Q trở về trạng thái lỗi
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Vì chưa có xung Clock tiếp theo, Flip-flop vẫn giữ nguyên (ghi nhớ) giá trị được “chụp” ở nhịp xung trước đó, bất kể đầu vào D có thay đổi thế nào.
- Câu 4: Flip-flop trong FPGA Artix-7 thường được dùng để tạo ra cái gì?
A. Các thanh ghi (Registers) để lưu trữ dữ liệu.
B. Dây dẫn đồng.
C. Vỏ nhựa cho bo mạch.
D. Tín hiệu Analog.
Xem đáp án & Giải thích
Đáp án đúng: A
Giải thích: Thanh ghi (Register) thực chất là một tập hợp nhiều Flip-flop đứng cạnh nhau để lưu trữ các con số (nhiều bit).
- Câu 5: Tại sao Flip-flop lại quan trọng trong các hệ thống an toàn công nghiệp?
A. Vì nó làm mạch điện chạy chậm lại.
B. Vì nó có thể “chốt” (nhớ) trạng thái báo động ngay cả khi sự cố đã qua đi, giúp kỹ sư biết chuyện gì đã xảy ra.
C. Vì nó có màu sắc đẹp mắt trên phần mềm mô phỏng.
D. Vì nó không bao giờ bị hỏng.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Khả năng “ghi nhớ” sự kiện (chốt trạng thái) là yếu tố then chốt trong việc giám sát, chẩn đoán lỗi và đảm bảo an toàn hệ thống.
“Chúc mừng bạn đã làm quen với ‘Trí nhớ’ của FPGA! Bài học tiếp theo chúng ta sẽ tìm hiểu về ‘Nhịp tim’ điều khiển những Flip-flop này – đó chính là xung Clock.”