Bối cảnh và vấn đề nghiên cứu
Trong kiến trúc của các hệ thống nhúng và vi mạch tích hợp cỡ lớn (System on Chip - SoC) hiện đại, nhu cầu trao đổi dữ liệu tốc độ cao giữa bộ nhớ trung tâm và các khối ngoại vi ngày càng gia tăng. Khi khối lượng dữ liệu xử lý lớn, phương thức truyền dữ liệu do bộ xử lý trung tâm trực tiếp điều phối (CPU-driven transfer) bộc lộ nhược điểm nghiêm trọng: CPU phải tham gia vào toàn bộ quy trình đọc/ghi từng đơn vị dữ liệu, gây lãng phí tài nguyên tính toán, tạo điểm nghẽn hiệu năng và gia tăng độ trễ cho các tác vụ thời gian thực. Để khắc phục giới hạn này, cơ chế truy cập bộ nhớ trực tiếp (Direct Memory Access - DMA) được ứng dụng nhằm thiết lập kênh truyền tự động giữa bộ nhớ và ngoại vi mà không cần sự can thiệp liên tục từ CPU. Khi kết hợp với giao thức AXI (Advanced eXtensible Interface) thuộc kiến trúc AMBA của ARM – chuẩn bus hỗ trợ băng thông lớn, truyền theo cụm (burst) và đường ống (pipeline) – hệ thống sẽ tối ưu hóa được năng lực xử lý song song và giảm độ trễ truyền dẫn.
Đồ án tốt nghiệp "Thiết kế DMA sử dụng giao thức AXI để truyền tải dữ liệu" của nhóm sinh viên Phạm Nguyên Phát và Lê Trúc Thi, dưới sự hướng dẫn của PGS.TS Đỗ Duy Tân tại Khoa Điện - Điện tử, Trường Đại học Công nghệ Kỹ thuật TP. Hồ Chí Minh (tháng 1/2026), tập trung giải quyết bài toán thiết kế bộ điều khiển DMA trên nền giao thức AXI.
Mục tiêu nghiên cứu được xác định cụ thể gồm:
- Nghiên cứu cơ sở lý thuyết về cấu trúc DMA và giao thức AXI trong kiến trúc bus AMBA, làm rõ ưu thế khi kết hợp hai thành phần này trong các hệ thống truyền tải dữ liệu.
- Thiết kế mô hình bộ điều khiển DMA hoạt động trên nền tảng AXI nhằm đáp ứng yêu cầu truyền dữ liệu tốc độ cao, giải phóng CPU và đảm bảo độ ổn định cho hệ thống SoC.
- Hiện thực hóa và mô phỏng bộ điều khiển DMA bằng ngôn ngữ mô tả phần cứng (Verilog HDL) trên các công cụ chuyên dụng (Vivado, ModelSim), kiểm chứng đầy đủ các trạng thái hoạt động: khởi tạo, đọc, ghi và hoàn tất truyền.
- Đánh giá hiệu năng của bộ điều khiển DMA-AXI thông qua các chỉ số: độ trễ, luồng truyền pipeline, xử lý burst và mức độ tiêu thụ tài nguyên phần cứng trên FPGA.
- Phân tích khả năng ứng dụng thực tiễn của thiết kế trong các hệ thống xử lý tín hiệu đa phương tiện, giao tiếp cảm biến tốc độ cao và các thiết bị IoT công nghiệp.
Đối tượng nghiên cứu của đề tài là khối điều khiển DMA và các giao diện bus thuộc chuẩn AMBA AXI4 (gồm AXI4-Lite và AXI4 Full). Phạm vi nghiên cứu tập trung vào cơ chế truyền dữ liệu từ bộ nhớ đến bộ nhớ (Memory-to-Memory) thông qua mô hình mô phỏng RTL, xác minh chức năng trên phần mềm EDA, đối chiếu với tiêu chuẩn kỹ thuật AXI DMA v7.1 LogiCORE IP (PG021) của Xilinx.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đồ án dựa trên chuẩn bus hệ thống AMBA do ARM đề xuất, tập trung vào giao thức AXI thế hệ thứ 4 (AXI4). Đề tài phân tích và ứng dụng hai biến thể chính:
- AXI4-Lite: Giao diện bus rút gọn dựa trên ánh xạ địa chỉ, không hỗ trợ burst, chỉ thực hiện giao dịch đơn với bus dữ liệu cố định 32-bit. Cấu trúc gồm 5 kênh giao tiếp độc lập, không sử dụng định danh giao dịch (Transaction ID), được dùng làm giao diện cấu hình thanh ghi điều khiển giữa CPU và DMA Controller.
- AXI4 (Full): Giao diện hiệu năng cao với cơ chế ánh xạ địa chỉ, hỗ trợ truyền burst linh hoạt với các kiểu địa chỉ: tăng dần (INCR), cố định (FIXED) và cuộn vòng (WRAP). AXI4 cung cấp khả năng xử lý đường ống (pipeline), tách biệt hoàn toàn giữa kênh địa chỉ và kênh dữ liệu.
Giao thức AXI hoạt động dựa trên 5 kênh giao tiếp độc lập, mỗi kênh tuân thủ cơ chế bắt tay hai chiều (handshake) bằng cặp tín hiệu VALID và READY:
- Kênh địa chỉ ghi (Write Address Channel - AW): truyền địa chỉ đích (AWADDR) và các tín hiệu điều khiển burst (AWLEN, AWSIZE, AWBURST, AWVALID, AWREADY).
- Kênh dữ liệu ghi (Write Data Channel - W): truyền dữ liệu (WDATA), tín hiệu chọn byte hợp lệ (WSTRB), tín hiệu báo kết thúc burst (WLAST) cùng cặp WVALID, WREADY.
- Kênh phản hồi ghi (Write Response Channel - B): nhận trạng thái ghi từ slave (BRESP: OKAY, EXOKAY, SLVERR, DECERR) cùng cặp BVALID, BREADY.
- Kênh địa chỉ đọc (Read Address Channel - AR): truyền địa chỉ nguồn (ARADDR) và thông số burst kèm ARVALID, ARREADY.
- Kênh dữ liệu đọc (Read Data Channel - R): nhận dữ liệu trả về từ slave (RDATA), trạng thái đọc (RRESP), tín hiệu báo beat cuối (RLAST) cùng cặp RVALID, RREADY.
Bảng so sánh đặc điểm giữa phương thức CPU trực tiếp điều phối và DMA được tác giả tổng hợp làm cơ sở lý luận:
| Tiêu chí so sánh |
Phương thức truyền do CPU điều khiển (CPU-driven) |
Phương thức truyền qua DMA (DMA transfer) |
| Nguyên lý hoạt động |
CPU trực tiếp đọc/ghi dữ liệu giữa bộ nhớ và ngoại vi |
DMA Controller tự động truyền dữ liệu, CPU chỉ cấu hình ban đầu |
| Vai trò của CPU |
Tham gia toàn bộ quá trình, xử lý từng byte/word |
Cấu hình tham số ban đầu, sau đó hoàn toàn giải phóng để làm tác vụ khác |
| Hiệu suất hệ thống |
Thấp, CPU bị chiếm dụng tài nguyên tính toán |
Cao, dữ liệu truyền song song với các tiến trình xử lý của CPU |
| Băng thông |
Giới hạn bởi tốc độ thực thi lệnh của CPU |
Cao, hỗ trợ truyền burst transfer và truy cập song song trên bus |
| Độ phức tạp phần cứng |
Thiết kế đơn giản, điều khiển hoàn toàn bằng phần mềm |
Cần thêm khối DMA Controller và cơ chế phân xử bus (arbitration) |
| Ứng dụng phù hợp |
Dữ liệu dung lượng nhỏ, tần suất thấp, không yêu cầu thời gian thực |
Xử lý dữ liệu lớn, liên tục, yêu cầu thời gian thực (video, cảm biến tốc độ cao) |
Phương pháp nghiên cứu thực hiện qua 4 bước:
- Thu thập và phân tích tài liệu kỹ thuật: Nghiên cứu đặc tả kỹ thuật AXI4 từ tài liệu chuẩn của ARM và chuẩn IP PG021 của Xilinx.
- Mô hình hóa hệ thống: Sử dụng ngôn ngữ Verilog HDL để mô tả kiến trúc phần cứng các khối chức năng theo máy trạng thái hữu hạn (FSM).
- Thực nghiệm mô phỏng: Xây dựng testbench toàn diện trên phần mềm Vivado/ModelSim để kiểm tra các trường hợp biên, tính toán timing và kiểm tra tính toàn vẹn dữ liệu.
- Tổng hợp và đánh giá: Tổng hợp thiết kế lên kiến trúc FPGA để trích xuất báo cáo tài nguyên logic, công suất tiêu thụ và phân tích thời gian trễ.
Thiết kế và triển khai kiến trúc phần cứng DMA
Hệ thống điều khiển DMA được tổ chức thành các khối chức năng ghép nối chặt chẽ, sử dụng hai giao diện bus riêng biệt: giao diện AXI_LITE_BUS phục vụ CPU cấu hình tham số và giao diện AXI_FULL_BUS đảm nhiệm truyền dữ liệu tốc độ cao.
| Thông số thiết kế |
Giá trị cấu hình trong RTL |
| Độ rộng bus dữ liệu (DMA_DATA_WIDTH) |
32-bit (4 byte/beat), hỗ trợ cấu hình mở rộng 64-bit |
| Độ rộng bus địa chỉ (DMA_ADDR_WIDTH) |
32-bit (hỗ trợ mở rộng 64-bit theo không gian nhớ) |
| Độ dài burst tối đa (DMA_MAX_BEAT_BURST) |
16 beat/burst (dung lượng 64 byte/burst) |
| Dung lượng bộ đệm FIFO nội bộ |
1024 beat (tương đương 4096 byte = 4 KB) |
| Kiến trúc quản lý tác vụ |
Dựa trên Descriptor (DMA_NUM_DESC cấu hình) |
| Chế độ địa chỉ hỗ trợ |
Tăng dần (INCR) và Cố định (FIXED) |
| Tính năng địa chỉ không thẳng hàng |
Hỗ trợ xử lý thông qua cờ DMA_EN_UNALIGNED |
| Ranh giới truyền burst |
Tuân thủ tuyệt đối ranh giới 4KB (4KB Boundary) |
| Tín hiệu ngắt hệ thống |
dma_done_o (hoàn thành tác vụ), dma_error_o (báo lỗi bus) |
Kiến trúc bên trong của DMA Controller bao gồm các module chính:
- Module AXI4L_INTERFACE: Đóng vai trò slave trên bus điều khiển AXI4-Lite, tiếp nhận các giao dịch ghi/đọc từ CPU. Module này giải mã địa chỉ để truy xuất hệ thống thanh ghi cấu hình (chứa Source Address, Destination Address, Transfer Length) và các thanh ghi điều khiển như bit GO (bắt đầu), ABORT (hủy). Nó đồng thời trả về trạng thái hoạt động và mã lỗi chi tiết từ thanh ghi trạng thái (Status Registers) về CPU.
- Module FSM (Finite State Machine): Khối điều khiển trung tâm quản lý toàn bộ chu trình xử lý của DMA. FSM chuyển dịch qua các trạng thái:
IDLE (chờ cấu hình) $\rightarrow$ READ_ADDR (phát địa chỉ nguồn lên kênh AR) $\rightarrow$ READ_DATA (nhận dữ liệu đọc đẩy vào FIFO) $\rightarrow$ WRITE_ADDR (phát địa chỉ đích lên kênh AW) $\rightarrow$ WRITE_DATA (rút dữ liệu từ FIFO ghi ra kênh W) $\rightarrow$ WRITE_RESP (kiểm tra phản hồi BVALID/BRESP) $\rightarrow$ COMPLETE (kích hoạt ngắt báo hoàn tất). FSM điều phối song song luồng đọc và ghi để tạo cơ chế pipeline.
- Module STREAMER READ: Tiếp nhận lệnh và tham số địa chỉ từ FSM, tính toán số beat của từng đợt burst dựa trên độ dài truyền còn lại và ranh giới 4KB, sau đó điều khiển giao tiếp với khối AXI Master để kích hoạt các giao dịch đọc dữ liệu từ bộ nhớ nguồn.
- Module STREAMER WRITE: Giám sát lượng dữ liệu khả dụng trong FIFO và độ dài tác vụ cần ghi, điều khiển AXI Master phát các giao dịch ghi burst đến địa chỉ đích, quản lý tín hiệu kết thúc burst
WLAST và kiểm tra phản hồi hoàn tất từ kênh B.
- Module FIFO (Bộ đệm dữ liệu): Được thiết kế với độ sâu 1024 beat (4 KB), đóng vai trò bộ đệm trung gian giữa kênh đọc và kênh ghi. FIFO có nhiệm vụ hấp thụ chênh lệch tốc độ, giải quyết độ trễ giữa các giao dịch đọc và ghi AXI, ngăn ngừa hiện tượng nghẽn luồng và duy trì hoạt động pipelining liên tục.
- Module AXI MASTER INTERFACE: Đóng vai trò master trên bus AXI4 Full, chịu trách nhiệm chuyển đổi yêu cầu từ Streamer Read và Streamer Write thành các tín hiệu chuẩn trên cả 5 kênh giao tiếp AXI. Khối này quản lý các tín hiệu độ dài burst
AxLEN, kích thước AxSIZE, kiểu burst AxBURST, xử lý cơ chế back-pressure khi slave kéo tín hiệu READY xuống thấp và bắt lỗi giao dịch bus (SLVERR, DECERR).
Nội dung chính theo từng chương
Chương 1. Tổng quan về đề tài
Chương này phân tích tính cấp thiết của việc tối ưu hóa luồng truyền dữ liệu trong hệ thống nhúng và SoC. Tác giả trình bày lý do lựa chọn giải pháp kết hợp giữa cơ chế DMA và giao thức AXI nhằm giải phóng CPU khỏi tác vụ truyền tải lặp lại. Chương xác định rõ 5 mục tiêu nghiên cứu cụ thể, các giới hạn đề tài (chỉ thực hiện mô phỏng RTL, chưa triển khai bo mạch phần cứng thực tế, tập trung vào chế độ Memory-to-Memory cơ bản), phạm vi nghiên cứu lý thuyết/thực nghiệm và cấu trúc tổng thể gồm 5 chương của báo cáo.
Chương 2. Cơ sở lý thuyết
Nội dung chương 2 tập trung hệ thống hóa toàn bộ lý thuyết nền tảng về cấu tạo, nguyên lý làm việc và các tham số thiết kế của bộ điều khiển DMA (Data Width, Addressing Capability, Burst Size, Latency, Bandwidth). Tác giả so sánh chi tiết ba biến thể thuộc chuẩn AMBA AXI4 (AXI4, AXI4-Lite, AXI4-Stream) qua bảng tổng hợp; phân tích quy chuẩn giao tiếp trên 5 kênh AXI; cơ chế bắt tay hai chiều VALID/READY trong 3 trường hợp đồng bộ thời gian; cấu trúc chi tiết của các giao dịch ghi/đọc và các quy tắc ràng buộc logic giữa các tín hiệu điều khiển theo chuẩn ARM.
Chương 3. Thiết kế hệ thống
Chương 3 trình bày chi tiết kiến trúc phần cứng của khối điều khiển DMA Controller dựa trên tiêu chuẩn PG021 LogiCORE IP. Tác giả đặc tả các tham số RTL: độ rộng bus 32-bit, độ dài burst tối đa 16 beat (64 byte), dung lượng đệm FIFO 1024 beat (4 KB). Chương mô tả chi tiết chức năng, giao tiếp tín hiệu và nguyên lý hoạt động của từng module thành phần: AXI4L_INTERFACE, FSM, STREAMER READ, STREAMER WRITE, FIFO và AXI MASTER INTERFACE, đồng thời xây dựng quy trình luồng dữ liệu xử lý tác vụ dựa trên các thanh ghi Descriptor.
Chương 4. Mô phỏng và xác minh thiết kế
Chương 4 tập trung vào việc xây dựng môi trường testbench để xác minh chức năng thiết kế qua chuỗi testcase toàn diện:
- Kiểm tra truy xuất hệ thống thanh ghi: 4 testcase cho thanh ghi chức năng chung, 4 testcase cho thanh ghi Descriptor 0, 4 testcase cho thanh ghi Descriptor 1.
- Kiểm tra truyền dữ liệu đơn Descriptor (
test_dma_single_desc): Phân tích chi tiết giản đồ sóng tại các mốc thời gian hoàn thành burst $t = 2790,\text{ns}$ (burst 1), $t = 5350,\text{ns}$ (burst 2), $t = 7910,\text{ns}$ (burst 3), $t = 10470,\text{ns}$ (burst 4), và thời điểm $t = 10510,\text{ns}$ khi tín hiệu dma_done_o lên mức 1.
- Kiểm tra chuỗi tác vụ (
test_dma_full_desc): Xác minh quá trình tự động chuyển giao giữa Descriptor 0 và Descriptor 1.
- Kiểm tra tính linh hoạt: Đánh giá độ dài burst biên (
max_burst = 0, max_burst = 63), kiểm tra căn chỉnh địa chỉ/strobe (WSTRB), và kiểm thử các chế độ địa chỉ kết hợp (Read-FIXED / Write-INCR và Read-INCR / Write-FIXED).
- Đánh giá tổng hợp: Trích xuất các bảng số liệu về mức độ tiêu thụ tài nguyên logic trên FPGA, công suất tiêu thụ của thiết kế và các giá trị timing sau tổng hợp.
Chương 5. Kết luận và hướng phát triển
Chương tổng kết lại toàn bộ kết quả đạt được về mặt thiết kế kiến trúc phần cứng và độ chính xác chức năng qua mô phỏng. Đồng thời, tác giả thẳng thắn chỉ ra các hạn chế hiện tại của mô hình và đề xuất các định hướng nghiên cứu tiếp theo để hoàn thiện lõi DMA.
Kết quả và đóng góp
Nghiên cứu đã hoàn thành việc thiết kế và kiểm chứng trọn vẹn lõi điều khiển DMA trên nền giao thức AXI. Các kết quả cụ thể thu được từ quá trình thực nghiệm mô phỏng bao gồm:
| Hạng mục kiểm thử / Đánh giá |
Dữ liệu thực nghiệm xác minh trong đồ án |
| Kiểm tra thanh ghi cấu hình |
Hoàn thành 12 testcase (4 testcase thanh ghi chức năng, 4 testcase Descriptor 0, 4 testcase Descriptor 1), xác nhận đọc/ghi chính xác 100% qua AXI4-Lite |
Kiểm thử tác vụ đơn (test_dma_single_desc) |
Thực hiện thành công 4 chu kỳ burst liên tiếp; xuất hiện cờ báo wlast chính xác tại các mốc: $t = 2790,\text{ns}$ (wlast 1), $t = 5350,\text{ns}$ (wlast 2), $t = 7910,\text{ns}$ (wlast 3), $t = 10470,\text{ns}$ (wlast 4) |
| Thời điểm kết thúc tác vụ |
Tại $t = 10510,\text{ns}$, tín hiệu done được kích hoạt lên 1; ngay sau đó đúng 1 chu kỳ clock, hệ thống kích hoạt tín hiệu reset nội bộ đưa FSM về trạng thái sẵn sàng |
| Kiểm thử xử lý chuỗi tác vụ |
Xác minh thành công cơ chế chuyển giao tự động từ Descriptor 0 sang Descriptor 1 trong kịch bản test_dma_full_desc mà không làm gián đoạn đường truyền |
| Kiểm tra burst biên và địa chỉ |
Xác minh hoạt động ổn định với cấu hình max_burst = 0 (truyền 1 beat) và max_burst = 63 (truyền 64 beat); kiểm tra chính xác các chế độ Read-FIXED / Write-INCR và Read-INCR / Write-FIXED |
| Độ tin cậy dữ liệu và đường ống |
Hoạt động pipelining giữa luồng đọc và ghi diễn ra đồng thời; FIFO đệm 4 KB ngăn ngừa hoàn toàn tình trạng mất mát hoặc tràn dữ liệu |
| Tài nguyên và công suất sau tổng hợp |
Báo cáo chi tiết các thông số phần cứng trên FPGA: số lượng LUT, FF, BRAM sử dụng; báo cáo công suất tiêu thụ và các giá trị vi phạm thời gian (Timing Slacks) đạt yêu cầu |
Các đóng góp chính do tác giả tự nêu bao gồm:
- Xây dựng thành công một thiết kế phần cứng hoàn chỉnh cho bộ điều khiển DMA sử dụng mô hình kết hợp giữa AXI4-Lite (điều khiển) và AXI4 Full (truyền dữ liệu) tương thích với tiêu chuẩn công nghiệp ARM AMBA.
- Hiện thực hóa cơ chế quản lý đa tác vụ dựa trên các thanh ghi Descriptor, cho phép CPU xếp hàng trước các lệnh truyền dữ liệu để DMA tự động thực thi tuần tự.
- Tối ưu hóa kiến trúc truyền dữ liệu dạng đường ống (pipelining) kết hợp với bộ đệm FIFO dung lượng 4 KB, hỗ trợ linh hoạt các chế độ định địa chỉ (INCR, FIXED) và xử lý truyền dữ liệu không thẳng hàng (unaligned transfers).
Hạn chế và hướng nghiên cứu tiếp
Theo công bố của tác giả trong báo cáo, đồ án tồn tại các giới hạn kỹ thuật sau:
- Toàn bộ kết quả thiết kế mới chỉ dừng lại ở mức độ mô phỏng kiểm chứng chức năng và tổng hợp logic bằng phần mềm EDA (Vivado, ModelSim), chưa tiến hành nạp mạch và đo đạc thực tế trên kit phần cứng FPGA.
- Thiết kế hiện tại chỉ tập trung vào mô hình truyền dữ liệu cơ bản (read/write burst đơn luồng Memory-to-Memory), chưa triển khai hoàn chỉnh cấu trúc DMA đa kênh song song (Multi-Channel DMA) và cơ chế phân tán - thu gom đầy đủ (Scatter-Gather DMA).
- Chưa tích hợp cơ chế phân xử ưu tiên động (dynamic arbitration) trong việc quản lý và chia sẻ băng thông bus khi có nhiều yêu cầu đồng thời.
- Chưa đi sâu nghiên cứu và áp dụng các cơ chế bảo mật truyền dữ liệu trên bus AXI cũng như các kỹ thuật tối ưu hóa công suất động cho lõi phần cứng.
Các hướng phát triển tiếp theo được đề xuất:
- Hiện thực hóa thiết kế lên kit phát triển FPGA thực tế để đo lường chính xác các thông số hoạt động vật lý trong môi trường phần cứng.
- Mở rộng kiến trúc hỗ trợ Multi-Channel DMA và Scatter-Gather DMA hoàn chỉnh nhằm đáp ứng các ứng dụng xử lý gói tin mạng phức tạp.
- Nghiên cứu tích hợp cơ chế quản lý chất lượng dịch vụ (Quality of Service - QoS) và chính sách phân bổ băng thông động.
- Triển khai các giải pháp tối ưu hóa năng lượng tiêu thụ (clock gating, power gating) và bổ sung lớp bảo mật chống can thiệp dữ liệu trên bus SoC.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho:
- Sinh viên và học viên chuyên ngành Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Máy tính, Thiết kế Vi mạch và Hệ thống Nhúng đang thực hiện các đồ án liên quan đến thiết kế phần cứng số bằng ngôn ngữ HDL.
- Các kỹ sư thiết kế RTL và SoC quan tâm đến phương pháp tích hợp chuẩn bus công nghiệp AMBA AXI (AXI4, AXI4-Lite), kỹ thuật thiết kế máy trạng thái FSM điều khiển luồng dữ liệu tốc độ cao và cơ chế đồng bộ FIFO.
- Các nội dung đáng tham khảo chuyên sâu gồm: thiết kế chi tiết khối giao diện AXI Master Interface tuân thủ ranh giới 4KB; phương pháp cấu hình Descriptor qua bus AXI4-Lite; quy trình xây dựng kịch bản testbench toàn diện kiểm tra các trường hợp biên của burst và timing đường ống trong vi mạch.
Câu hỏi thường gặp
1. Trong thiết kế này, bộ đệm FIFO đóng vai trò gì và có dung lượng bao nhiêu?
FIFO hoạt động như bộ đệm trung gian giữa kênh đọc và kênh ghi AXI, có nhiệm vụ cân bằng độ lệch tốc độ và hấp thụ độ trễ giữa hai kênh trong quá trình truyền dữ liệu burst. Trong thiết kế, FIFO có độ sâu được chọn là 1024 beat, với độ rộng dữ liệu 32-bit (4 byte/beat), tương ứng với tổng dung lượng lưu trữ là 4096 byte (4 KB).
2. Giao thức AXI4-Lite và AXI4 Full được phân chia nhiệm vụ như thế nào trong hệ thống DMA?
AXI4-Lite được sử dụng cho giao diện điều khiển giữa CPU và DMA Controller (MODULE AXI4L_INTERFACE), dùng để cấu hình các thanh ghi địa chỉ, độ dài dữ liệu và giám sát trạng thái mà không hỗ trợ burst. Ngược lại, AXI4 Full được sử dụng cho giao diện dữ liệu chính (AXI MASTER INTERFACE), hỗ trợ truyền dữ liệu theo cụm (burst) lên tới 16 beat, xử lý đường ống và ranh giới 4KB để truyền tải khối lượng dữ liệu lớn giữa bộ nhớ và thiết bị với hiệu năng cao.
3. Kịch bản mô phỏng tác vụ đơn (test_dma_single_desc) ghi nhận các mốc thời gian hoàn thành burst như thế nào?
Trong kịch bản kiểm thử truyền đơn descriptor, quá trình truyền gồm 4 đợt burst với tín hiệu báo beat cuối wlast xuất hiện tại các thời điểm: burst thứ nhất hoàn tất tại $t = 2790,\text{ns}$ (wlast 1), burst thứ hai tại $t = 5350,\text{ns}$ (wlast 2), burst thứ ba tại $t = 7910,\text{ns}$ (wlast 3), và burst thứ tư tại $t = 10470,\text{ns}$ (wlast 4). Tại thời điểm $t = 10510,\text{ns}$, tín hiệu done được kích hoạt lên mức 1 và sau đó 1 chu kỳ clock hệ thống kích hoạt reset nội bộ.
4. Thiết kế DMA hỗ trợ những chế độ đánh địa chỉ nào và xử lý địa chỉ không thẳng hàng ra sao?
DMA hỗ trợ hai chế độ địa chỉ chính: Chế độ tăng dần (Incremental Mode - INCR) phục vụ việc sao chép các khối bộ nhớ liên tục, và Chế độ cố định (Fixed Mode - FIXED) phục vụ giao tiếp với các thanh ghi FIFO ngoại vi. Ngoài ra, thiết kế hỗ trợ tính năng truyền không thẳng hàng (Unaligned Transfers) thông qua cờ cấu hình DMA_EN_UNALIGNED kết hợp với việc điều khiển tín hiệu chọn byte WSTRB trên bus dữ liệu ghi.
5. Đồ án đã được kiểm thử trên bo mạch phần cứng thực tế hay chưa?
Chưa. Theo phạm vi và giới hạn nghiên cứu được công bố trong đồ án, toàn bộ hệ thống mới dừng lại ở mức độ thiết kế RTL bằng ngôn ngữ Verilog, mô phỏng chức năng trên công cụ Vivado/ModelSim và tổng hợp logic để đánh giá tài nguyên, công suất và timing, chưa thực hiện nạp mạch và đo đạc trên chip FPGA thực tế.
Kết luận
Đồ án tốt nghiệp "Thiết kế DMA sử dụng giao thức AXI để truyền tải dữ liệu" của sinh viên Phạm Nguyên Phát và Lê Trúc Thi đã giải quyết thành công bài toán tối ưu hóa truyền dẫn dữ liệu trong hệ thống SoC thông qua việc kết hợp cơ chế DMA và chuẩn bus AMBA AXI. Bằng ngôn ngữ Verilog HDL, nhóm tác giả đã hiện thực hóa hoàn chỉnh các khối chức năng điều khiển FSM, bộ đệm FIFO 4 KB, giao tiếp cấu hình AXI4-Lite và giao tiếp dữ liệu AXI4 Full hỗ trợ burst 16 beat. Kết quả mô phỏng trên môi trường chuyên dụng đã chứng minh tính chính xác của các thanh ghi cấu hình, khả năng vận hành pipelining ổn định và năng lực chuyển giao tự động giữa các descriptor mà không làm gián đoạn hệ thống. Đây là công trình nghiên cứu vi mạch có hàm lượng kỹ thuật cao, cung cấp cơ sở lý thuyết và mô hình RTL giá trị cho các ứng dụng hệ thống nhúng đòi hỏi thông lượng truyền tải lớn.