MODULE 3: FPGA – KẺ THAY ĐỔI CUỘC CHƠI
Chào bạn! Sau khi đã hiểu về sự khác biệt giữa “đầu bếp” Vi điều khiển và “đội quân” FPGA ở bài trước, chắc hẳn bạn đang thắc mắc: Làm thế nào để biến những dòng chữ trên màn hình thành các mạch điện thực sự chạy bên trong con chip Artix-7? Hôm nay, chúng ta sẽ cùng tìm hiểu về “dây chuyền sản xuất” đặc biệt này.
1. Giới thiệu
Chào mừng bạn đến với bài học về quy trình “biến hình” của FPGA. Bạn hãy tưởng tượng mình đang muốn xây dựng một dây chuyền đóng gói tự động. Bạn không thể chỉ cầm búa và đinh ra công trường ngay lập tức; bạn cần bản vẽ kiến trúc, danh sách vật liệu, và một đội ngũ thi công sắp xếp máy móc sao cho tối ưu diện tích nhà xưởng.
Trong thiết kế FPGA, chúng ta cũng đi qua một quy trình nghiêm ngặt tương tự để chuyển đổi ý tưởng từ ngôn ngữ VHDL sang các kết nối vật lý bên trong chip Artix-7 XC7A100T. Quy trình này không chỉ là nạp code, mà là quá trình “đúc” lại cấu trúc phần cứng của chip. Trong công nghiệp, việc nắm vững quy trình này giúp kỹ sư tối ưu hóa tốc độ xử lý và tiết kiệm tài nguyên chip, đảm bảo hệ thống trên bo mạch AIOT-ARTIX7 hoạt động ổn định nhất trước khi phối hợp với IMX93.
2. Nội dung chính
2.1. Bước 1: Viết HDL (Bản vẽ kỹ thuật)
Mọi thứ bắt đầu bằng việc mô tả mạch điện bằng ngôn ngữ mô tả phần cứng VHDL.
- Giải thích: Thay vì vẽ tay hàng ngàn cổng logic, bạn dùng văn bản để mô tả: “Tôi muốn Switch 1 nối với cổng AND, đầu ra nối vào LED 1”.
- Ví dụ đời sống: Giống như bạn viết một bản hướng dẫn lắp ráp LEGO. Bản thân tờ giấy hướng dẫn không phải là mô hình, nhưng nó chứa mọi thông tin để tạo ra mô hình đó.
- Lưu ý phần cứng: Bạn không viết lệnh để chip “thực hiện” theo trình tự, bạn viết để mô tả “cấu trúc mạch điện trông như thế nào”.
2.2. Bước 2: Synthesis – Tổng hợp (Kiểm tra tính khả thi)
Sau khi có bản vẽ, phần mềm chuyên dụng (như Vivado) sẽ thực hiện bước Synthesis.
- Giải thích: Phần mềm sẽ đọc bản vẽ VHDL của bạn và kiểm tra xem con chip Artix-7 có đủ các “viên gạch” (LUT, Flip-flop) để xây dựng mạch đó không. Kết quả đầu ra là một Netlist (danh sách các linh kiện và sơ đồ đường dây nối logic).
- Ví dụ đời sống: Giống như việc bạn đưa bản vẽ nhà cho nhà thầu. Họ sẽ báo lại: “Chúng tôi cần 1000 viên gạch và 50 bao xi măng để xây đúng như thế này”.
2.3. Bước 3: Place & Route – Sắp xếp và Đi dây (Thi công thực địa)
Đây là lúc phần mềm thực sự “đặt” các linh kiện ảo vào các vị trí vật lý cụ thể bên trong chip.
- Place (Sắp xếp): Chọn xem cổng AND cụ thể sẽ nằm ở ô logic nào trong hàng triệu ô của chip.
- Route (Đi dây): Nối các đường dây đồng siêu nhỏ giữa các linh kiện đó sao cho đường đi là ngắn nhất để đạt tốc độ cao nhất.
- Tư duy song song: Vì mọi thứ trong FPGA chạy cùng lúc, việc đi dây rất quan trọng. Nếu dây quá dài, tín hiệu điện sẽ đến chậm hơn các nhánh khác, làm ảnh hưởng đến sự đồng bộ của toàn hệ thống (Timing issue).

2.4. Bước 4: Bitstream & Deployment (Nạp và Chạy)
Sau khi đã có sơ đồ đi dây hoàn hảo, phần mềm sẽ tạo ra một file gọi là Bitstream (thường có đuôi .bit).
- Giải thích: Đây là file chứa hàng triệu mã số “0” và “1” dùng để đóng/mở hàng triệu công tắc (transistor) bên trong chip Artix-7, tạo thành mạch điện vật lý mà bạn đã thiết kế.
- Thực hành trên bo AIOT-ARTIX7: Bạn dùng cáp USB kết nối máy tính với bo mạch, nạp file .bit này vào. Ngay lập tức, con chip Artix-7 “trống rỗng” sẽ biến thành mạch điều khiển LED, bộ cộng, hay bất cứ hệ thống nào bạn muốn.
So sánh quy trình: FPGA vs. Vi điều khiển
| Đặc điểm |
Vi điều khiển (MCU) |
FPGA |
| Bản chất nạp |
Nạp phần mềm vào bộ nhớ (Flash/RAM). |
Nạp “cấu trúc” kết nối phần cứng. |
| Cấu trúc chip |
Cố định, không bao giờ thay đổi. |
Thay đổi linh hoạt theo thiết kế. |
| Vai trò file nạp |
Các lệnh cho CPU thực hiện theo bước. |
“Khuôn đúc” cấu hình lại mạch điện. |
3. Tổng kết
- Quy trình 4 bước: Viết mã (VHDL) -> Tổng hợp (Check lỗi & Linh kiện) -> Sắp xếp & Đi dây (Tối ưu vị trí) -> Nạp Bitstream (Biến hình chip).
- Synthesis (Tổng hợp): Là quá trình dịch từ ngôn ngữ mô tả sang danh sách linh kiện phần cứng thực tế (Netlist).
- Place & Route: Là bước quan trọng nhất để đảm bảo tín hiệu điện chạy nhanh, đồng bộ và không bị trễ.
- Bitstream: Là “bản đồ kỹ thuật số” giúp cấu hình lại hàng triệu kết nối vật lý bên trong chip Artix-7.
Kiểm tra kiến thức
Hãy cùng kiểm tra lại kiến thức về quy trình “luyện kim” kỹ thuật số này.
- Câu 1: Bước nào trong quy trình thiết kế FPGA giúp kiểm tra xem thiết kế có đủ linh kiện (như LUT) trong chip hay không?
A. Viết HDL.
B. Synthesis (Tổng hợp).
C. Deployment (Triển khai).
D. Đóng gói linh kiện.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Synthesis chuyển đổi VHDL thành danh sách linh kiện và kiểm tra xem tài nguyên vật lý của chip có đáp ứng được thiết kế hay không.
- Câu 2: File Bitstream (.bit) dùng để làm gì trên bo mạch AIOT-ARTIX7?
A. Để lưu trữ tài liệu hướng dẫn sử dụng.
B. Để chứa các lệnh mà CPU sẽ đọc và chạy.
C. Để cấu hình lại các kết nối vật lý bên trong chip FPGA theo thiết kế.
D. Để tăng dung lượng bộ nhớ RAM cho máy tính.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: Bitstream là “bản đồ” chứa thông tin để đóng/mở hàng triệu công tắc logic bên trong FPGA, biến nó thành mạch điện mong muốn.
- Câu 3: “Place & Route” trong thiết kế FPGA tương ứng với công việc gì trong đời sống?
A. Viết một cuốn sách nấu ăn.
B. Sắp xếp đồ đạc trong phòng và nối dây điện cho các thiết bị.
C. Mua sắm linh kiện ở cửa hàng điện tử.
D. Chụp một bức ảnh phong cảnh.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Place là đặt linh kiện vào đúng vị trí tối ưu trên mặt bằng chip, và Route là thực hiện việc đi dây nối giữa các linh kiện đó.
- Câu 4: Điểm khác biệt lớn nhất khi nạp chương trình vào FPGA so với Vi điều khiển là gì?
A. FPGA cần nạp qua WiFi.
B. Nạp vào FPGA là thay đổi cấu trúc kết nối phần cứng, còn MCU là nạp phần mềm vào bộ nhớ.
C. Nạp vào FPGA mất nhiều thời gian hơn hàng trăm lần.
D. FPGA không cần file Bitstream.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Đây là bản chất “Reconfigurable” (có thể cấu hình lại) của FPGA. Nó không chỉ chạy lệnh mà thực sự biến đổi cấu trúc mạch điện bên trong.
- Câu 5: Tại sao việc “Đi dây” (Route) lại cực kỳ quan trọng đối với các mạch xử lý tốc độ cao?
A. Vì nó giúp bo mạch trông đẹp hơn.
B. Vì đường dây càng ngắn thì tín hiệu điện chạy càng nhanh, giúp mạch hoạt động chính xác và không bị trễ.
C. Vì dây dẫn màu đỏ sẽ chạy nhanh hơn dây dẫn màu xanh.
D. Vì nó giúp tiết kiệm pin cho điện thoại.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Trong thế giới nano của chip, khoảng cách đi dây dù rất nhỏ nhưng ảnh hưởng trực tiếp đến thời gian thực (Timing), quyết định tốc độ tối đa của hệ thống.
“Chúc mừng bạn đã nắm vững quy trình ‘luyện kim’ kỹ thuật số! Hẹn gặp lại bạn ở bài tiếp theo để thực sự chạm tay vào phần mềm thiết kế chuyên dụng Vivado và khám phá ngôi nhà của Artix-7.”