MODULE 3: FPGA – KẺ THAY ĐỔI CUỘC CHƠI
Chào bạn! Chúng ta đã đi qua lý thuyết về sự khác biệt giữa FPGA và Vi điều khiển, cũng như hiểu được “dây chuyền sản xuất” Bitstream. Bây giờ là thời điểm hào hứng nhất: Chạm tay vào thực tế. Bài học này sẽ là cầu nối giúp bạn bước ra khỏi thế giới trừu tượng để làm quen với những công cụ “bằng xương bằng thịt” mà bạn sẽ gắn bó suốt khóa học: Bo mạch AIOT-ARTIX7 và phần mềm Vivado.
1. Giới thiệu
Chào mừng bạn đến với bài học “nhập môn thực hành”. Sau khi đã hiểu tư duy song song và quy trình thiết kế, đây là lúc chúng ta làm quen với “ngôi nhà” của các mạch điện: con chip Artix-7 XC7A100T. Với 101.440 ô logic (Logic Cells), đây là một con chip cực kỳ mạnh mẽ, đủ sức gánh vác từ các bộ lọc tín hiệu RF phức tạp đến các hệ thống xử lý hình ảnh tốc độ cao.
Trong công nghiệp, việc làm chủ công cụ thiết kế (Vivado) và hiểu rõ sơ đồ chân (Pinout) của bo mạch là kỹ năng bắt buộc. Nó giống như việc một họa sĩ phải hiểu rõ đặc tính của màu vẽ và mặt toan trước khi đặt bút. Bài học này không chỉ giới thiệu các cổng kết nối, mà còn giúp bạn hình thành tư duy “ánh xạ”: Biến một tín hiệu logic trong mã VHDL thành một tác động vật lý lên đèn LED hoặc nút nhấn trên bo AIOT-ARTIX7. Đây chính là khoảnh khắc bạn thực sự trở thành một “kiến trúc sư phần cứng”.
2. Nội dung chính
2.1. Giải mã bo mạch AIOT-ARTIX7: “Sân chơi” của chúng ta
Bo mạch AIOT-ARTIX7 không chỉ là một tấm mạch xanh, nó là một hệ sinh thái. Hãy cùng điểm qua các bộ phận quan trọng nhất mà bạn sẽ dùng tới:
- Trái tim Artix-7 (XC7A100T): Nơi chứa hàng triệu công tắc logic. Mọi phép tính bạn thiết kế sẽ nằm ở đây.
- Dãy 8 Switch & 8 LED: Đây là “cửa ngõ” giao tiếp cơ bản. Switch để bạn đưa dữ liệu vào (0 hoặc 1) và LED để bạn quan sát kết quả.
- Xung Clock (50MHz): “Nhịp tim” giúp toàn bộ mạch điện hoạt động đồng bộ. Cứ mỗi giây, trái tim này đập 50 triệu lần.
- Cổng USB-UART: “Cây cầu” nối bo mạch với máy tính, giúp bạn nạp file Bitstream và truyền nhận dữ liệu qua lại.
- ADC/DAC (40Msps): Các bộ phận cao cấp giúp FPGA “nghe” và “nói” với thế giới tín hiệu tương tự (như âm thanh, sóng vô tuyến).
2.2. Phần mềm Xilinx Vivado: “Xưởng đúc” kỹ thuật số
Nếu bạn coi FPGA là một đống đất sét, thì Vivado chính là đôi bàn tay và các khuôn mẫu:
- Quản lý Project: Nơi chứa và tổ chức các bản vẽ mô tả phần cứng (VHDL).
- Công cụ mô phỏng (Simulation): Giúp bạn chạy thử mạch điện trên máy tính trước khi nạp vào bo mạch thật (giống như chạy thử bản vẽ 3D trước khi xây nhà).
- XDC (Xilinx Design Constraints): Một file cực kỳ quan trọng. Nó nói với Vivado rằng: “Này, cổng ra mang tên ‘LED_1’ trong code của tôi phải được nối đúng vào cái chân vật lý P17 của chip Artix-7”. Nếu không có file này, chip sẽ không biết phải đưa tín hiệu ra đèn LED nào.

2.3. Ví dụ đời sống: Bàn điều khiển âm thanh (DJ Mixer)
Hãy tưởng tượng phần mềm Vivado giống như phần mềm cấu hình cho một bàn DJ khổng lồ:
- Các Switch trên bo mạch là các nút gạt chọn bài.
- Các cổng logic bên trong FPGA là bộ trộn (Mixer).
- Đèn LED là các cột hiển thị âm lượng.
Bạn không thay đổi phần cứng vật lý của bàn DJ, nhưng bằng cách “nạp cấu hình” (Bitstream), bạn có thể biến bàn DJ đó từ bộ trộn âm thanh thành một bộ điều khiển ánh sáng sân khấu chuyên nghiệp.
2.4. Phối hợp cùng IMX93: Sự kết hợp hoàn hảo
Trong các bài học tới, chúng ta sẽ thấy IMX93 gửi lệnh qua cổng UART đến Artix-7. Lúc này, Artix-7 đóng vai trò như một “trợ lý tốc độ cao”, thực hiện các phép tính nặng nhọc rồi trả kết quả về cho “ông chủ” IMX93 hiển thị lên màn hình. Đây là sự phân chia nhiệm vụ tối ưu: MPU đảm nhận sự thông minh, FPGA đảm nhận tốc độ.
3. Tổng kết
- Artix-7 XC7A100T: Là một trong những dòng FPGA mạnh nhất cho mục đích học tập và công nghiệp nhẹ, với số lượng ô logic lớn.
- Vivado: Là công cụ chuyên dụng của Xilinx để thiết kế, mô phỏng và nạp chương trình cấu hình cho FPGA.
- File XDC: Là “bản đồ địa chỉ”, kết nối tên các biến trong code với các chân vật lý thực tế trên bo mạch.
- Hệ sinh thái AIOT: Bo mạch tích hợp sẵn các ngoại vi (LED, Switch, UART) giúp việc học tập trở nên trực quan, không cần dây nối thủ công phức tạp.
Kiểm tra kiến thức
Hãy cùng kiểm tra lại kiến thức về bo mạch và công cụ bạn sẽ đồng hành sắp tới.
- Câu 1: Số hiệu “100T” trong tên chip Artix-7 (XC7A100T) đại diện cho điều gì?
A. Chip có thể hoạt động ở nhiệt độ 100 độ C.
B. Chip có khoảng 100.000 ô logic (Logic Cells).
C. Chip cần 100 Volts để hoạt động.
D. Chip có thể kết nối với 100 màn hình LCD cùng lúc.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Số hiệu trong dòng chip Xilinx thường chỉ quy mô tài nguyên (Logic capacity). XC7A100T có khoảng 101.440 ô logic.
- Câu 2: Xung Clock 50MHz trên bo mạch AIOT-ARTIX7 có vai trò gì?
A. Để làm đèn trang trí nhấp nháy.
B. Để cung cấp năng lượng cho chip.
C. Làm nhịp điệu thời gian để các mạch logic hoạt động đồng bộ.
D. Để kết nối với mạng WiFi tốc độ cao.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: Clock là “trái tim” và là nhịp đập của mọi hệ thống số đồng bộ, giúp các sự kiện diễn ra đúng trình tự thời gian.
- Câu 3: File “.xdc” trong dự án Vivado dùng để làm gì?
A. Để lưu trữ mật khẩu của người dùng.
B. Để chỉ định kết nối giữa các tín hiệu trong code với các chân cắm vật lý trên chip.
C. Để dịch mã VHDL sang ngôn ngữ C++.
D. Để nén dung lượng file Bitstream.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Constraints (Ràng buộc) là bước bắt buộc để ánh xạ các cổng I/O trong thiết kế logic vào thực tế các chân linh kiện trên bo mạch.
- Câu 4: Khi muốn quan sát kết quả của một phép tính logic đơn giản trên bo mạch, bạn thường sử dụng bộ phận nào?
A. Cổng Ethernet.
B. Cảm biến RF.
C. Dãy đèn LED.
D. Chip IMX93.
Xem đáp án & Giải thích
Đáp án đúng: C
Giải thích: LED là công cụ hiển thị trực quan và nhanh chóng nhất cho các mức logic (1 – Sáng, 0 – Tắt) trong các bài thực hành cơ bản.
- Câu 5: Vivado được gọi là môi trường thiết kế “phần cứng” vì:
A. Phần mềm này rất nặng và khó cài đặt.
B. Nó tạo ra các kết nối vật lý thực sự bên trong chip thay vì chỉ chạy các dòng lệnh phần mềm.
C. Nó chỉ có thể cài đặt trên các máy tính có vỏ bằng kim loại.
D. Nó giúp người học rèn luyện sức khỏe cơ bắp.
Xem đáp án & Giải thích
Đáp án đúng: B
Giải thích: Đây là điểm khác biệt cốt lõi: Vivado không tạo ra chuỗi lệnh cho CPU mà xây dựng cấu trúc mạch điện (Hardware Construction) thực thụ bên trong silicon.
“Chúc mừng bạn đã hoàn thành Module 3! Bạn đã nắm vững ‘vũ khí’ trong tay mình. Bạn đã sẵn sàng để trở thành một ‘lập trình viên phần cứng’ thực thụ ở Module 4 chưa? Chúng ta sẽ bắt đầu viết những dòng mã VHDL đầu tiên ngay thôi!”