DIENTU.VN & DIENTUVIETNAM.VN Tập trung nghiên cứu và phát triển Semiconductor, từ thiết kế vi mạch đến ứng dụng thực tế.
Chuyên sâu Lập trình FPGA, triển khai thuật toán phần cứng tốc độ cao cho hệ thống nhúng và AI.
Giải pháp Camera tích hợp FPGA
Giải pháp camera tích hợp FPGA cho phép xử lý hình ảnh trực tiếp ở mức phần cứng, đáp ứng yêu cầu độ trễ thấp, tốc độ cao và độ ổn định cao so với xử lý bằng CPU/GPU truyền thống.
Hệ thống phù hợp cho các ứng dụng AI Vision, giám sát thông minh, công nghiệp, giao thông, với khả năng tùy biến pipeline xử lý ảnh, nén video và tăng tốc thuật toán theo yêu cầu thực tế.
Trong kỹ thuật số, FPGA và vi điều khiển, hai khái niệm nền tảng mà sinh viên và kỹ sư bắt buộc phải nắm vững là mạch tổ hợp (Combinational Circuit) và mạch tuần tự (Sequential Circuit).
Bài viết này sẽ giúp bạn:
-
Hiểu rõ mạch tổ hợp là gì
-
Hiểu rõ mạch tuần tự là gì
-
So sánh chi tiết mạch tổ hợp vs mạch tuần tự
-
Biết cách áp dụng đúng khi thiết kế FPGA / Verilog / VHDL
Mạch tổ hợp là gì? (Combinational Circuit)
Khái niệm
Mạch tổ hợp là mạch mà đầu ra chỉ phụ thuộc vào đầu vào hiện tại, không phụ thuộc vào quá khứ.
👉 Không có khả năng nhớ dữ liệu.
Công thức tổng quát
Ví dụ mạch tổ hợp
-
Cổng logic AND, OR, NOT, XOR
-
Bộ cộng (Adder)
-
Bộ trừ (Subtractor)
-
Multiplexer (MUX)
-
Decoder / Encoder
-
So sánh số (Comparator)
Minh họa mạch tổ hợp
Đặc điểm
-
❌ Không có bộ nhớ
-
❌ Không cần clock
-
✅ Output thay đổi ngay lập tức khi input thay đổi
-
✅ Thiết kế đơn giản
Mạch tuần tự là gì? (Sequential Circuit)
Khái niệm
Mạch tuần tự là mạch mà đầu ra phụ thuộc vào:
-
Đầu vào hiện tại
-
Trạng thái trước đó (dữ liệu đã lưu trong bộ nhớ)
👉 Mạch tuần tự có khả năng ghi nhớ.
Công thức tổng quát
Ví dụ mạch tuần tự
-
Flip-Flop (D, JK, T)
-
Thanh ghi (Register)
-
Bộ đếm (Counter)
-
FSM (Finite State Machine)
-
Bộ nhớ RAM / FIFO
Minh họa mạch tuần tự
Đặc điểm
-
✅ Có bộ nhớ (state)
-
✅ Hoạt động theo clock
-
❌ Thiết kế phức tạp hơn
-
❌ Có độ trễ theo chu kỳ clock
So sánh mạch tổ hợp và mạch tuần tự
| Tiêu chí | Mạch tổ hợp | Mạch tuần tự |
|---|---|---|
| Phụ thuộc đầu vào | Chỉ input hiện tại | Input + trạng thái cũ |
| Bộ nhớ | Không có | Có (Flip-Flop, Register) |
| Clock | Không cần | Bắt buộc |
| Khả năng lưu dữ liệu | ❌ | ✅ |
| Độ trễ | Theo delay logic | Theo chu kỳ clock |
| Độ phức tạp | Thấp | Cao hơn |
| Ví dụ | Adder, MUX | Counter, FSM |
Ví dụ minh họa dễ hiểu
Ví dụ mạch tổ hợp
👉 Cộng 2 số A và B
-
A = 3, B = 2 → Output = 5
-
Chỉ cần A hoặc B đổi → Output đổi ngay
-
Không nhớ giá trị cũ
Ví dụ mạch tuần tự
👉 Bộ đếm
-
Mỗi xung clock → tăng 1
-
Giá trị hiện tại phụ thuộc giá trị trước đó
-
Có khả năng nhớ
Trong FPGA, hai loại mạch này được dùng như thế nào?
Mạch tổ hợp trong FPGA
-
Logic xử lý
-
Điều kiện IF–ELSE
-
So sánh, mã hóa, giải mã
-
Datapath
Mạch tuần tự trong FPGA
-
FSM điều khiển
-
Thanh ghi dữ liệu
-
Bộ đếm thời gian
-
Giao thức UART, SPI, I2C
👉 Thiết kế FPGA thực tế = kết hợp mạch tổ hợp + mạch tuần tự
Liên hệ với FSM (Finite State Machine)
| Thành phần FSM | Loại mạch |
|---|---|
| State Register | Mạch tuần tự |
| Next State Logic | Mạch tổ hợp |
| Output Logic | Mạch tổ hợp / tuần tự |
👉 FSM là ví dụ điển hình cho sự kết hợp tổ hợp + tuần tự.
Lỗi thường gặp của người mới học FPGA
❌ Viết mạch tuần tự nhưng quên clock
❌ Dùng always @(*) nhưng lại tạo latch
❌ Không phân biệt rõ logic tổ hợp vs logic tuần tự
❌ Nhầm lẫn giữa FSM và mạch tổ hợp




